¿Qué biblioteca/marco modelo Actor para Python y Erlang-like?
python-stackless (6)
Echa un vistazo a pulsar , es un marco concurrente para python que usa el modelo de actor como fuente de ejecución paralela.
Estoy buscando una biblioteca o framework Actor fácil de aprender para Python 2.x. He probado Candygram y Twisted pero no me gustaron. Me gustaría algo que sea fácil de extender al suppero Greenlet (= pitón sin apilamiento).
- Candygram es muy viejo.
- Twisted es muy complicado.
- Gevent: no está claro si puede soportar el modelo de Actores.
¿Que sugieres?
Este tutorial tiene un ejemplo simple y funcional para actores con gevent. Básicamente es exactamente como Denis ya lo describió.
Me gustaría echar un vistazo a esto: https://bitbucket.org/fzzzy/python-actors
Es casi una clonación directa del modelo de actor de Erlang, con cola de mensajes "guardados", enlaces y todo.
Para crear actores con gevent , utiliza una subclase de Greenlet con gevent.queue.Queue instancia de gevent.queue.Queue incorporada utilizada como bandeja de entrada. Para leer un mensaje de la bandeja de entrada, simplemente get() de la cola. Para enviar un mensaje a un actor, put en la cola de ese actor.
Lea acerca de la subclasificación de Greenlet aquí .
Si necesita ayuda para escribir la clase Actor, no dude en consultar la lista de correo .
Sé que esta pregunta está un poco anticuada, pero aquí hay otro recurso de actor para Python ahora:
https://github.com/godaddy/Thespian
La documentación se puede encontrar aquí:
http://godaddy.github.io/Thespian/doc/
EDITAR :
El autor principal de esta biblioteca ha dejado GoDaddy y ha bifurcado el repositorio:
https://github.com/kquick/Thespian
Nuevos documentos se pueden encontrar aquí:
PARLEY y Pykka figuran en esta página de Wikipedia Actor Model, por lo que es posible que desee buscar en una de ellas.
Pykka parece estar activamente desarrollado (1.0.1 lanzado en diciembre de 2012), mientras que PARLEY no ha tenido una versión desde 2007 (y todavía aparece como beta). Pykka dice que Akka solo lo insipió en el nombre, no es simplemente un puerto de Python.