2013-08-19 17 views
5

क्या कोई मुझे बता सकता है कि सेलेरी किसी थ्रेड में या एक अलग बाल प्रक्रिया में कार्य निष्पादित करती है या नहीं? प्रलेखन इसे समझा नहीं जाता है (इसे 3 बार पढ़ें)। यदि यह एक धागा है, तो यह जीआईएल कैसे पास करता है (विशेष रूप से किसके और कैसे एक घटना अधिसूचित की जाती है)?अजवाइन का apply_async धागा या प्रक्रिया है?

आप ट्विस्ट के रिएक्टर मॉडल के साथ सेलेरी के एसिंक की तुलना कैसे करेंगे? क्या रिलेक्टर मॉडल का उपयोग कर अजवाइन है?

धन्यवाद,

उत्तर

2

-c और -पी अजवाइन कार्यकर्ता के लिए संगामिति संबंधित विकल्प हैं।

 
    -c CONCURRENCY, --concurrency=CONCURRENCY 
         Number of child processes processing the queue. The 
         default is the number of CPUs available on your 
         system. 
    -P POOL_CLS, --pool=POOL_CLS 
         Pool implementation: processes (default), eventlet, 
         gevent, solo or threads. 

का उपयोग कर eventlet: http://docs.celeryproject.org/en/latest/userguide/concurrency/eventlet.html#enabling-eventlet

http://docs.celeryproject.org/en/latest/internals/reference/celery.concurrency.processes.html

3

कोई मुझे बता सकते हैं अजवाइन एक सूत्र में या एक अलग बच्चे की प्रक्रिया में एक कार्य निष्पादित करता है या नहीं?

न तो, कार्य को एक अलग मशीन पर संभवतः एक अलग प्रक्रिया में निष्पादित किया जाएगा। यह थ्रेड की एक बाल प्रक्रिया नहीं है जहां आप 'देरी' कहते हैं। -सी और -पी विकल्प नियंत्रित करते हैं कि कैसे कार्यकर्ता प्रक्रिया अपने स्वयं के थ्रेडिंग का प्रबंधन करती है। कार्यकर्ता प्रक्रियाएं एक संदेश सेवा के माध्यम से कार्य प्राप्त करती हैं जो पूरी तरह से स्वतंत्र भी होती है।

ट्विस्ट के रिएक्टर मॉडल के साथ सेलेरी के एसिंक की तुलना कैसे करेंगे? सभी के बाद रिएक्टर मॉडल का उपयोग कर अजवाइन?

ट्विस्ट एक ईवेंट कतार है। यह असीमित है लेकिन यह समानांतर प्रसंस्करण के लिए डिज़ाइन नहीं किया गया है।

संबंधित मुद्दे