2014-09-11 4 views
5
  1. मुझे नहीं पता कि यह a bug या कॉन्फ़िगरेशन समस्या है या नहीं।
  2. लक्ष्य: डिबग/मैन्युअल रूप से पुन: प्रारंभ कार्यकर्ता के बिना हर बार मैं एक छोटा सा परिवर्तन

तो मैं कॉन्फ़िगर कर दिया है अजवाइन + RabbitMQ बनाने अजवाइन कार्यों को संशोधित। सब कुछ काम करता है। celery -A proj worker --loglevel=debug कमान और प्रवेश करने के लिएसेलेरी "--autoreload" विकल्प के साथ RabbitMQ के साथ काम नहीं करता है

जोड़ा गया --autoreload विकल्प इस पर बंद हो जाता है:

[2014-09-11 19:22:00,447: DEBUG/MainProcess] | Worker: Hub.register Autoreloader... 

इसके बिना:

[2014-09-11 19:37:34,316: DEBUG/MainProcess] | Worker: Hub.register Pool... 
[2014-09-11 19:37:34,317: DEBUG/MainProcess] basic.qos: prefetch_count->16 
[2014-09-11 19:37:36,275: DEBUG/MainProcess] pidbox received method enable_events() [reply_to:None ticket:None] 
[2014-09-11 19:37:36,275: INFO/MainProcess] Events of group {task} enabled by remote. 

बाकी सब कुछ ठीक काम करता है।

celery call tasks.update 

सेलेरी से कनेक्शन हैं के बाद एक संदेश प्राप्त करता है। यह सिर्फ कार्य शुरू करने के लिए सेलेरी को नहीं बताता है।

यह एक कनेक्शन समस्या की तरह दिखता है, लेकिन मुझे नहीं पता कि यह क्या है।
यदि आप इसके साथ मदद कर सकते हैं तो कृपया लिखें।

उत्तर

1

वहाँ अजवाइन/कार्यकर्ता/autoreload.py लाइन 67

पर अजवाइन में एक बग इस बग फिक्स मास्टर के लिए प्रतिबद्ध किया गया है: https://github.com/pashinin/celery/commit/92b52db6eeeb75494700ffe807ecd4c1fe6b0643

आप autoreload की लाइन 67 बदलकर पुस्तकालय पैच कर सकते हैं।

for chunk in iter(lambda: f.read(2 ** 20), ''): 

for chunk in iter(lambda: f.read(2 ** 20), b''): 

वायुसेना से py इस परिवर्तन के साथ, आप अभी भी एक और समस्या का सामना कर सकते हैं: यदि आपके पास पहले से ही एक कार्य बनाया गया है, तो इसे फिर से बनाया नहीं जाएगा और यह कार्य मॉड्यूल रीलोड के बाद अपडेट नहीं किया जाएगा। रीलोडेड कार्य केवल एक बार फिर निष्पादित करने के बाद सक्रिय हो जाते हैं।

सेलेरी डेवलपर्स इस मुद्दे को जल्दी से ठीक करने के लिए तैयार नहीं हैं। तब तक आपके पास दो विकल्प हैं:

  1. अपडेट किए गए कार्य को एक नए से पहले निष्पादित करने की आवश्यकता है।

  2. के बाद एक काम

अपडेट किया जा रहा

अजवाइन कार्यकर्ता पुन: प्रारंभ करें

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