ما هي مكتبة/إطار عمل ممثل من Python و Erlang-like؟ [في الانتظار

StackOverflow https://stackoverflow.com/questions/3423447

سؤال

أنا أبحث عن مكتبة ممثلين سهلة التعلم أو إطار عمل لـ Python 2.x. لقد جربت Candygram و Twisted لكنني لم أحبهم. أود أن يكون من السهل تمديد شيء ما إلى Greenlet (= Python بدون تكديس).

  • Candygram قديم جدًا.
  • ملتوية معقدة للغاية.
  • جيفنت: من غير الواضح ما إذا كان بإمكانه دعم نموذج الجهات الفاعلة.

ماذا تقترح؟

هل كانت مفيدة؟

المحلول

لجعل الجهات الفاعلة مع جيفنت, ، إستخدم الأخضر فئة فرعية مع مضمنة gevent.queue.queue مثيل يستخدم باعتباره صندوق الوارد. لقراءة رسالة من صندوق الوارد ، ببساطة احصل على() من قائمة الانتظار. لإرسال رسالة إلى ممثل ، وضع في قائمة انتظار هذا الممثل.

اقرأ عن الفئة الفرعية Greenlet هنا.

إذا كنت بحاجة إلى مساعدة في كتابة فئة الممثل ، فلا تتردد اسأل القائمة البريدية.

نصائح أخرى

الدفع النبض, ، إنه إطار متزامن للبيثون الذي يستخدم نموذج الممثل كمصدر للتنفيذ الموازي.

أعلم أن هذا السؤال مؤرخ قليلاً ولكن هنا مورد آخر ممثل لـ Python الآن:

https://github.com/godaddy/thespian

يمكن العثور على الوثائق هنا:

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

تعديل:

لقد ترك المؤلف الرئيسي لهذه المكتبة غواددي وتشويه الريبو:

https://github.com/kquick/thespian

يمكن العثور على مستندات جديدة هنا:

http://thespianpy.com/doc/

بارلي و بيكا مدرجة في هذا صفحة نموذج ممثل ويكيبيديا لذلك قد ترغب في النظر في واحدة من هؤلاء.

يبدو أن Pykka تم تطويره بنشاط (1.0.1 تم إصداره في ديسمبر 2012) في حين أن Parley لم يحصل على إصدار منذ عام 2007 (ولا يزال مدرجًا باسم Beta). يدعي Pykka أنه مستمر عكا فقط في الاسم ليس مجرد منفذ بيثون.

هذه درس تعليمي لديه مثال بسيط وعمل للممثلين مع جيفنت. في الأساس هو بالضبط كما وصف دينيس بالفعل.

سألقي نظرة على هذا: https://bitbucket.org/fzzzy/python-actors

إنه إلى حد كبير استنساخ مستقيم لنموذج ممثل Erlang ، مع قائمة انتظار الرسائل "المحفوظة" والروابط وكل شيء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top