哪个Actor模型库/框架适合python和Erlang一样?

时间:2010-08-06 11:47:59

标签: python erlang actor python-stackless

我正在为Python 2.x寻找一个易于学习的Actor库或框架。我尝试了Candygram和Twisted,但我不喜欢它们。我想要一些很容易扩展到suppero Greenlet(= stackless python)的东西。

  • Candygram太老了。
  • 扭曲过于复杂。
  • Gevent:目前还不清楚它是否能支持Actors模型。

你有什么建议?

6 个答案:

答案 0 :(得分:19)

要使gevent成员,请使用带有嵌入式Greenlet实例的gevent.queue.Queue子类作为收件箱。要从收件箱中阅读邮件,只需从队列中get()即可。要向演员发送消息,put将其发送到该演员的队列中。

Read about subclassing Greenlet here

如果您需要编写Actor类的帮助,请随意ask the mailing list

答案 1 :(得分:14)

查看pulsar,它是python的并发框架,它使用actor模型作为并行执行的源。

答案 2 :(得分:8)

我知道这个问题有点陈旧但现在这是python的另一个actor资源:

https://github.com/godaddy/Thespian

可在此处找到文档:

http://godaddy.github.io/Thespian/doc/

修改

此库的主要作者后来离开了GoDaddy并分叉了回购:

https://github.com/kquick/Thespian

可在此处找到新文档:

http://thespianpy.com/doc/

答案 3 :(得分:5)

PARLEY上列出了

PykkaWikipedia Actor Model page,因此您可能需要查看其中一个。

Pykka似乎正在积极开发(2012年12月发布1.0.1),而PARLEY自2007年以来一直没有发布(并且仍然被列为测试版)。 Pykka声称只有Akka的名字才能成为一个简单的python端口。

答案 4 :(得分:3)

这个tutorial有一个简单而有效的示例,适用于gevent的演员。基本上它就像丹尼斯已经描述过的那样。

答案 5 :(得分:3)

我会看一下:https://bitbucket.org/fzzzy/python-actors

它几乎是Erlang actor模型的直接克隆,“已保存”的消息队列,链接和所有内容。