2010-08-06 14 views
38

मैं पाइथन 2.x के लिए एक आसान-से-सीखने वाला अभिनेता पुस्तकालय या ढांचा ढूंढ रहा हूं। मैंने कैंडीग्राम और मुड़ने की कोशिश की है लेकिन मुझे उन्हें पसंद नहीं आया। मुझे ऐसा कुछ चाहिए जो सुपरपरो ग्रीनलेट (= स्टैकलेस पायथन) तक बढ़ाना आसान हो जाएगा।पाइथन और एरलांग जैसे किस अभिनेता मॉडल लाइब्रेरी/ढांचे?

  • कैंडीग्राम बहुत पुराना है।
  • मुड़ना बहुत जटिल है।
  • गीवेंट: यह स्पष्ट नहीं है कि यह अभिनेता मॉडल का समर्थन कर सकता है।

आप क्या सुझाव देते हैं?

+3

मैं Candygram बारे में कुछ पता नहीं है, लेकिन मैंने सोचा कि मुड़ अधिक उन्मुख था अभिनेता-आधारित समेकन की तुलना में नेटवर्किंग के आसपास। –

+1

कलाकारों की तरह सबसे अच्छा एरलांग एरलांग में लागू किया गया है। Erlang में समवर्ती उन्मुख काम करते हैं और बंदरगाहों के माध्यम से पाइथन के लिए बाकी काम छोड़ दिया। मैं एरलांग में पूरा काम करूंगा लेकिन अगर कोई सोचता है कि पाइथन किसी भी काम के लिए बेहतर है तो यह उसका स्वाद है। –

+0

मुझे लगता है कि यह चट्टानों का एक छोटा सा पता है, लेकिन मैं पाइथन का उपयोग करना पसंद करूंगा। मुझे उसी चीज को करने की ज़रूरत नहीं है जो मैं पाइथन में एरलांग में करता हूं, और उसी तरह भी नहीं – daitangio

उत्तर

18

gevent के साथ कलाकार बनाने के लिए, Greenlet सबक्लास का उपयोग एम्बेडेड gevent.queue.Queue उदाहरण के साथ इनबॉक्स के रूप में किया जाता है। इनबॉक्स से एक संदेश पढ़ने के लिए, कतार से बस get()। एक अभिनेता को संदेश भेजने के लिए, put इसे उस अभिनेता की कतार में।

Read about subclassing Greenlet here

यदि आपको अभिनेता वर्ग लिखने में मदद की ज़रूरत है, तो ask the mailing list पर निःशुल्क महसूस करें।

2

यह tutorial में गीवेंट के साथ कलाकारों के लिए एक सरल और कामकाजी उदाहरण है। असल में यह ठीक है जैसा डेनिस पहले ही वर्णित है।

3

मैं इस पर एक नज़र ले जाएगा: https://bitbucket.org/fzzzy/python-actors

यह काफी Erlang अभिनेता मॉडल की एक सीधी क्लोन, "सुरक्षित" संदेशों कतार, लिंक और सब कुछ के साथ।

5

PARLEY और Pykka इस Wikipedia Actor Model page पर सूचीबद्ध हैं ताकि आप उनमें से किसी एक को देखना चाहें।

पिकका सक्रिय रूप से विकसित किया गया है (1.0.1 दिसंबर 2012 में जारी किया गया) जबकि PARLEY को 2007 से रिलीज़ नहीं हुआ है (और अभी भी बीटा के रूप में सूचीबद्ध है)। पिकका का दावा Akka द्वारा किया जाना चाहिए केवल नाम में ही एक पाइथन बंदरगाह नहीं है।

+0

मुझे क्या भ्रमित करता है कि एरलांग में, अभिनेताओं के लिए खुद को संदेश देना बहुत आम है। पिक्का में यह स्पष्ट नहीं है कि किसी वस्तु को स्वयं का संदर्भ कैसे मिलता है। – fatuhoku

+1

यह सुनिश्चित नहीं है कि यह सुविधा कितनी नई है, लेकिन Pykka 1.2.0 self.actor_ref का समर्थन करता है। दस्तावेज़ों में [प्रॉक्सी अनुभाग] (http://www.pykka.org/en/latest/api/#proxies) में स्पष्ट रूप से उल्लेख किया गया है कि एक अभिनेता के लिए "भविष्य के काम को निर्धारित करने" के लिए एक तरीके के रूप में, इसलिए मैं कल्पना कीजिए कि दृढ़ता से समर्थित है। – Jayson

+0

ऐसा लगता है कि पिक्का अब सक्रिय रूप से विकसित नहीं हुआ –

13

pulsar देखें, यह पाइथन के लिए एक समवर्ती रूपरेखा है जो अभिनेता मॉडल को समानांतर निष्पादन के स्रोत के रूप में उपयोग करता है।

+0

पलसर को बहुत अच्छी तरह से बनाए रखा प्रतीत होता है, और यह Python3 की 'asyncio' कार्यक्षमताओं का भी समर्थन करता है। – user1496984

6

मैं जानता हूँ कि इस सवाल का एक सा दिनांकित है, लेकिन यहाँ अब अजगर के लिए एक और अभिनेता संसाधन है:

https://github.com/godaddy/Thespian

प्रलेखन यहां पाया जा सकता:

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

संपादित:

इसका प्राथमिक लेखक पुस्तकालय के बाद से GoDaddy छोड़ दिया और रेपो काँटेदार गया है:

https://github.com/kquick/Thespian

न्यू डॉक्स यहां पाया जा सकता:

http://thespianpy.com/doc/