46

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

  • Candygram 太旧了。
  • 扭曲太复杂了。
  • Gevent:是否可以支持Actors模型还不清楚。

你有什么建议?

4

6 回答 6

20

要使用gevent制作演员,请使用Greenlet子类,其中嵌入的gevent.queue.Queue实例用作收件箱。要从收件箱中读取消息,只需从队列中获取() 。要将消息发送给参与者,请将其放入该参与者的队列中。

在此处阅读有关子类化 Greenlet 的信息

如果您在编写 Actor 类方面需要帮助,请随时询问邮件列表

于 2010-08-08T16:36:53.597 回答
15

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

于 2013-08-13T21:36:56.020 回答
10

我知道这个问题有点过时了,但这里是 python 的另一个演员资源:

https://github.com/godaddy/Thespian

文档可以在这里找到:

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

编辑

该库的主要作者已离开 GoDaddy 并分叉了 repo:

https://github.com/kquick/Thespian

新文档可以在这里找到:

http://thespianpy.com/doc/

于 2015-10-13T19:46:56.347 回答
5

PARLEYPykka列在此Wikipedia Actor Model 页面上,因此您可能想查看其中之一。

Pykka 似乎正在积极开发(1.0.1 于 2012 年 12 月发布),而 PARLEY 自 2007 年以来就没有发布过(并且仍被列为测试版)。Pykka 声称受到Akka的启发只是名义上的,而不仅仅是一个 python 端口。

于 2013-01-08T15:37:00.537 回答
3

教程为带有 gevent 的演员提供了一个简单且有效的示例。基本上它和丹尼斯已经描述的完全一样。

于 2012-02-23T09:36:01.450 回答
3

我会看看这个:https ://bitbucket.org/fzzzy/python-actors

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

于 2012-05-07T06:07:21.027 回答