Python および Erlang に似たアクター モデル ライブラリ/フレームワークはどれですか?[保留中]
-
26-09-2019 - |
質問
学習しやすい Python 2.x 用の Actor ライブラリまたはフレームワークを探しています。Candygram や Twisted も試してみましたが、好みではありませんでした。suppero Greenlet (= スタックレス Python) に簡単に拡張できるものが欲しいです。
- キャンディグラムは古すぎる。
- ツイストは複雑すぎます。
- ゲベント:Actors モデルをサポートできるかどうかは不明です。
何を指示してるんですか?
解決
俳優を作るには ゲベント, 、 使う グリーンレット 埋め込まれたサブクラス gevent.queue.Queue 受信箱として使用されるインスタンス。受信箱からメッセージを読むには、次のようにします。 得る() 行列から。俳優にメッセージを送るには、 置く それをそのアクターのキューに入れます。
Greenlet のサブクラス化については、こちらをご覧ください。.
Actor クラスの作成についてサポートが必要な場合は、お気軽にお問い合わせください。 メーリングリストに聞いてください.
他のヒント
チェックアウト パルサー, 、これは、並列実行のソースとしてアクター モデルを使用する Python の並列フレームワークです。
この質問は少し古いことは承知していますが、Python の別のアクター リソースは次のとおりです。
https://github.com/godaddy/Thespian
ドキュメントは次の場所にあります。
http://godaddy.github.io/Thespian/doc/
編集:
その後、このライブラリの主な作成者は GoDaddy を離れ、リポジトリをフォークしました。
https://github.com/kquick/Thespian
新しいドキュメントは次の場所にあります。
パーリー そして ピッカ これに記載されています ウィキペディアの俳優モデルページ そのため、そのうちの 1 つを調べてみるとよいでしょう。
Pykka は積極的に開発されているようですが (1.0.1 は 2012 年 12 月にリリースされました)、PARLEY は 2007 年以来リリースされていません (そしてまだベータ版としてリストされています)。Pykka は次のようなものからインスピレーションを得たと主張しています。 アッカ 名前だけは単なる Python ポートではありません。
これ チュートリアル には、gevent を使用したアクター向けのシンプルで実用的な例があります。基本的には、Denis がすでに説明したとおりです。
これを見てみましょう: https://bitbucket.org/fzzzy/python-actors
これは Erlang アクター モデルのほぼそのままのクローンであり、「保存された」メッセージ キュー、リンク、その他すべてが含まれています。