2012-03-08 7 views
14

Stackless pitón le permite serializar una tarea (decapado) para la posterior ejecución que no necesita estar en la misma máquina: http://www.stackless.com/wiki/Pickling¿Cuál es el método preferido para TCP/IP IPC en Python sin pila?

Mi pregunta es qué pitón sin pérdida de velocidad proporciona ningún tipo de IPC, middleware, corredor de servicio, o DDS tecnología para mover estas tareas en escabeche entre los procesos y/o máquinas? ¿Es realmente que necesitamos usar un socket aquí?

tienen este buen concepto de un canal: http://www.stackless.com/wiki/Pickling

Eso sería increíble si los canales trabajaron través de las máquinas y se puede registrar un canal sencilla con un corredor de servicio en una red. En esencia, lo que le permite mover sus tareas a diferentes servicios de python sin pilas ubicadas en diferentes máquinas.

+0

El apio parece ser una opción de cpython. Sin embargo, esperaba algo más sin apilamiento. Creo que ambos tienen un concepto de "tarea", por lo que tendrían que explorar cómo se integrarían. –

+2

quizás Pyro es más como lo que necesita –

+1

Pyro es útil. Siento que es más una solución general, aunque como el apio para la pieza de middleware. Mi intención con esta publicación era asegurarme de que no me faltaba algo de stackless que permitiera algún tipo de programación distribuida de tareas desde el primer momento. Si no se proporciona nada nativo en stackless, aceptaría una respuesta que muestre una integración simple de python middleware (apio, piro, etc.) con tareas sin apilamiento. Personalmente, decidí no usar stackless. –

Respuesta

4

El proyecto stacklessexamples enumera una serie de enfoques para hacer networking; más estrechamente relacionado con su pregunta podría ser el ejemplo rpc.

+0

Vamos a darle un +1 para la investigación. Estoy buscando algo que esté un poco más orientado al ejemplo en una respuesta y una informática distribuida más directamente en la naturaleza ... en contraste con solo un RPC. Quiero algo que pueda agrupar el código para la ejecución de forma remota y es bastante simple, es decir, no es un servidor de seguridad ni un socket, sino más una API basada en Channel/Broker/Task. Personalmente, decidí no usar stackless pero me gustaría dejarlo abierto para otra entrada o quizás alguien haga una lib para este tipo de función y quiera hacer un comentario. –

+0

Después de dos años de dejar esto abierto, te lo voy a dar. –

Cuestiones relacionadas