我正在尋找一個易於學習的Actor庫或Python 2.x的框架。我嘗試過Candygram和Twisted,但我不喜歡它們。我想要一些可以輕鬆擴展到suppero Greenlet(= stackless python)的東西。哪個Actor用於python和Erlang的模型庫/框架?
- Candygram太舊了。
- 扭曲太複雜。
- Gevent:目前還不清楚它是否可以支持Actors模式。
你有什麼建議?
我正在尋找一個易於學習的Actor庫或Python 2.x的框架。我嘗試過Candygram和Twisted,但我不喜歡它們。我想要一些可以輕鬆擴展到suppero Greenlet(= stackless python)的東西。哪個Actor用於python和Erlang的模型庫/框架?
你有什麼建議?
若要讓gevent的演員使用Greenlet子類,並將嵌入的gevent.queue.Queue實例用作收件箱。要從收件箱中閱讀郵件,只需從隊列中選擇get()即可。發送消息給演員,put它進入該演員的隊列。
Read about subclassing Greenlet here。
如果您需要編寫Actor類的幫助,請隨時致電ask the mailing list。
這個tutorial有一個簡單和工作的例子演員與gevent。基本上就像丹尼斯已經描述的那樣。
我將在此我們來看一看:https://bitbucket.org/fzzzy/python-actors
這幾乎是二郎神角色模型的直克隆,以「保存」的消息隊列,鏈接,應有盡有。
PARLEY和Pykka在此Wikipedia Actor Model page上列出,因此您可能需要查看其中之一。
Pykka似乎正在積極開發(1.0.1在2012年12月發佈),而PARLEY自2007年以來還沒有發佈(並且仍然列爲測試版)。 Pykka聲稱只是在Akka的名義上不是一個簡單的python端口。
檢出pulsar,這是一個python的併發框架,它使用actor模型作爲並行執行的來源。
Pulsar似乎保持得很好,並且還支持Python3的'asyncio'功能。 – user1496984 2014-08-21 17:28:17
我知道這個問題是有點過時,但這裏是Python的另一名演員資源現在:
https://github.com/godaddy/Thespian
文檔可以在這裏找到:
http://godaddy.github.io/Thespian/doc/
編輯:
這個的主要作者圖書館有從左邊GoDaddy的和分叉回購:
https://github.com/kquick/Thespian
新的文檔可以在這裏找到:
我不知道什麼Candygram,但我認爲扭曲是更加註重圍繞網絡而不是基於Actor的併發。 – 2010-08-06 12:43:53
Erlang中最好的Erlang就是在Erlang中實現的。在Erlang中進行面向並行的工作,並通過端口將其餘的工作留給python。我會在Erlang做整個工作,但如果有人認爲Python對任何任務都更好,那麼這是他的品味。 – 2010-08-06 20:02:09
我知道Erlang有點像它,但我更喜歡使用Python。 我不需要在Python中使用Erlang做同樣的事情,也不以同樣的方式 – daitangio 2010-08-07 14:41:51