अजवाइन डेमॉन अपंजीकृत कार्यों को प्राप्त करता है


9

मैंने अपने Django प्रोजेक्ट के लिए Celery स्थापित किया, जो कि आधिकारिक ट्यूटोरियल / डॉक्टर का कहना है। और यह ठीक काम कर रहा है जब मैं कमांड लाइन पर अजवाइन लॉन्च करता हूं, मैं इसे कार्यों को प्राप्त करने और उन्हें निष्पादित करने के लिए देख सकता हूं। लेकिन एक बार जब सब कुछ काम कर रहा था तो मैंने अजवाइन को डुबोने के लिए डॉक्स का थोड़ा और पालन करने का फैसला किया और हर समय इसे छोड़ दिया। इसलिए मैंने उबंटू सिस्टम पर / etc / default / celeryd स्क्रिप्ट के साथ भी अजवाइन init स्क्रिप्ट प्रदान की। मैंने तदनुसार मानों को बदल दिया और यह सही ढंग से शुरू होता है लेकिन जब यह एक कार्य प्राप्त करता है तो लॉग कहता है:

ERROR/MainProcess] Received unregistered task of type 'likes.tasks.test'.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you are using relative imports?
Please see http://bit.ly/gLye1c for more information.

और फिर मुझे वह विवरण मिलता है जो कार्य पूछ रहा था। फिर से, यह कार्य पूरी तरह से काम करता है जब मैं बिना किसी कॉन्फ़िगरेशन के कमांड लाइन पर अजवाइन लॉन्च करता हूं। उस बिंदु पर क्या गलत हो सकता है? मैं एक आभासी वातावरण का उपयोग करता हूं बस अगर यह कुछ भी बदल जाएगा, लेकिन मैंने इसे कॉन्फ़िगर फ़ाइल में भी निर्दिष्ट किया है।

जवाबों:


2

देर से जवाब, लेकिन शायद यह किसी की मदद करता है।

क्या आपने http://docs.celeryproject.org/en/latest/userguide/tasks.html#automatic-naming-and-relative-imports देखा है ?

आपको कार्यकर्ता के साथ शुरू करना चाहिए --loglevel=info, इस तरह यह शुरू होने पर पंजीकृत कार्यों की एक सूची को लॉग करेगा। आपको यह सुनिश्चित करना चाहिए कि जिन नामों को आप संदेशों में भेज रहे हैं, उनके नाम पंजीकृत हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.