2010-08-06 6 views
38

Je suis à la recherche d'une bibliothèque ou d'un framework Actor facile à apprendre pour Python 2.x. J'ai essayé Candygram et Twisted mais je ne les ai pas aimé. J'aimerais quelque chose qui sera facile à étendre à suppero Greenlet (= python stackless).Quelle bibliothèque/framework modèle d'acteur pour python et Erlang-like?

  • Le bonbon est trop vieux.
  • Tordu est trop compliqué.
  • Gevent: il n'est pas clair s'il peut supporter le modèle Actors.

Que suggérez-vous?

+3

Je ne sais pas quoi que ce soit au sujet Candygram, mais je pensais que Twisted était plus orienté autour de la mise en réseau que autour de la concurrence basée sur l'acteur. –

+1

Les meilleurs acteurs comme Erlang sont implémentés à Erlang. Faire du travail orienté simultané dans Erlang et laisser le reste du travail à python via les ports. Je ferais tout le travail à Erlang mais si quelqu'un pense que Python est meilleur pour n'importe quelle tâche, c'est son goût. –

+0

Je connais un peu Erlang, mais je préférerais utiliser Python. Je besoin de ne pas la même chose que je fais en Erlang en Python, et pas non plus de la même manière – daitangio

Répondre

2

Cet tutorial a un exemple simple et fonctionnel pour les acteurs avec gevent. Fondamentalement, c'est exactement ce que Denis a déjà décrit.

5

PARLEY et Pykka sont listés sur ce Wikipedia Actor Model page donc vous pourriez vouloir regarder dans un de ceux-là.

Pykka semble être activement développé (1.0.1 sorti en décembre 2012) alors que PARLEY n'a pas eu de version depuis 2007 (et est toujours répertorié comme bêta). Pykka prétend être insipired par Akka seulement dans le nom n'est pas simplement un port de python.

+0

Ce qui me confond est que dans Erlang, il est très fréquent que les acteurs eux-mêmes à un message. Dans Pykka, il n'est pas clair comment un objet obtient une référence de lui-même. – fatuhoku

+1

Vous ne savez pas à quel point cette fonctionnalité est nouvelle, mais Pykka 1.2.0 prend en charge self.actor_ref. Ceci est explicitement mentionné dans la section [Proxies] (http://www.pykka.org/en/latest/api/#proxies) des docs comme un moyen pour un acteur de "planifier son futur travail" avec lui-même, donc je J'imagine que c'est fortement soutenu. – Jayson

+0

ressemble à pykka n'est plus activement développé –

13

Découvrez pulsar, il s'agit d'une structure concurrente pour python qui utilise le modèle d'acteur comme source d'exécution parallèle.

+0

Pulsar semble être très bien maintenu, et prend également en charge les fonctionnalités «asyncio» de Python3. – user1496984

Questions connexes