अजवाइन प्राप्त प्रकार के अपंजीकृत कार्य (उदाहरण के लिए)


95

मैं अजवाइन प्रलेखन से उदाहरण चलाने की कोशिश कर रहा हूँ ।

मै भागा: celeryd --loglevel=INFO

/usr/local/lib/python2.7/dist-packages/celery/loaders/default.py:64: NotConfigured: No 'celeryconfig' module found! Please make sure it exists and is available to Python.
  "is available to Python." % (configname, )))
[2012-03-19 04:26:34,899: WARNING/MainProcess]  

 -------------- celery@ubuntu v2.5.1
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      amqp://guest@localhost:5672//
- ** ----------   . loader:      celery.loaders.default.Loader
- ** ----------   . logfile:     [stderr]@INFO
- ** ----------   . concurrency: 4
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . celery:      exchange:celery (direct) binding:celery

tasks.py:

# -*- coding: utf-8 -*-
from celery.task import task

@task
def add(x, y):
    return x + y

run_task.py:

# -*- coding: utf-8 -*-
from tasks import add
result = add.delay(4, 4)
print (result)
print (result.ready())
print (result.get())

समान फ़ोल्डर में celeryconfig.py:

CELERY_IMPORTS = ("tasks", )
CELERY_RESULT_BACKEND = "amqp"
BROKER_URL = "amqp://guest:guest@localhost:5672//"
CELERY_TASK_RESULT_EXPIRES = 300

जब मैं "run_task.py" चलाता हूं:

अजगर सांत्वना पर

eb503f77-b5fc-44e2-ac0b-91ce6ddbf153
False

celeryd सर्वर पर त्रुटियाँ

[2012-03-19 04:34:14,913: ERROR/MainProcess] Received unregistered task of type 'tasks.add'.
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.

The full contents of the message body was:
{'retries': 0, 'task': 'tasks.add', 'utc': False, 'args': (4, 4), 'expires': None, 'eta': None, 'kwargs': {}, 'id': '841bc21f-8124-436b-92f1-e3b62cafdfe7'}

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 444, in receive_message
    self.strategies[name](message, body, message.ack_log_error)
KeyError: 'tasks.add'

कृपया बताएं कि समस्या क्या है।


12
नमस्ते, क्या आप कृपया बता सकते हैं कि समस्या क्या थी और आपने कैसे हल किया? स्वीकृत उत्तर यह स्पष्ट नहीं करता है कि अन्य लोग इस समस्या को कैसे हल कर सकते हैं। धन्यवाद।
जॉर्डन रीटर

3
मैं जॉर्डन के साथ हूं- यह बिल्कुल भी उपयोगी नहीं था। Downvoted।
जे टेलर

2
: Aiho का जवाब सही एक हैCELERY_IMPORTS = ("tasks", )
अल्प

जवाबों:


49

आप celery.registry.TaskRegistryकक्षा में पंजीकृत कार्यों की वर्तमान सूची देख सकते हैं । यह हो सकता है कि आपका celeryconfig (वर्तमान निर्देशिका में) ऐसा नहीं है, PYTHONPATHजिससे अजवाइन इसे न पा सके और दोषों के लिए वापस आ जाए। अजवाइन शुरू करते समय इसे स्पष्ट रूप से निर्दिष्ट करें।

celeryd --loglevel=INFO --settings=celeryconfig

आप सेट भी कर सकते हैं --loglevel=DEBUGऔर आपको समस्या को तुरंत देखना चाहिए।


4
+1 के लिए --loglevel=DEBUG, मेरे कार्य में एक सिंटैक्स त्रुटि थी।
जैकब वैलेंटा

11
अजवाइन पुरानी है। अब एक चलाना चाहिए celery workerके लिए उदाहरण के लिए Djangoइस तरहcelery --app=your_app.celery worker --loglevel=info
andilabs

मेरे लिए (अजवाइन 3.1.23), मुझे celery.registry.tasksअपने सभी वर्तमान कार्यों की सूची देखने के लिए उपयोग करना था । आप हमेशा रनिंग करके चेक कर सकते हैं dir(celery.registry)
निक ब्रैडी

के लिए --loglevel=DEBUGमेरी तरफ से और साथ ही
Shobi

64

मुझे लगता है कि आपको कार्यकर्ता सर्वर को पुनरारंभ करने की आवश्यकता है। मैं उसी समस्या को पूरा करता हूं और इसे फिर से शुरू करके हल करता हूं।


8
धन्यवाद! काश मुझे यह एक घंटे पहले मिलता
नेक्सस

2
इसने मेरे लिए इसे ठीक कर दिया। यदि आप सेलेरी स्क्रिप्ट का उपयोग कर रहे हैं, तो कार्यकर्ता स्टार्टअप पर आपके कार्य मॉड्यूल (ओं) को आयात करता है। यहां तक ​​कि अगर आप तब अधिक कार्य फ़ंक्शन बनाते हैं या मौजूदा लोगों को बदलते हैं, तो कार्यकर्ता अपनी इन-मेमोरी प्रतियों का उपयोग कर रहे होंगे, जैसा कि वे उन्हें पढ़ते समय थे।
मार्क

1
नोट: आप यह सत्यापित कर सकते हैं कि आपका कार्य चल रहा है या पंजीकृत नहीं हैcelery inspect registered
निक ब्रैडी

1
आप अजवाइन को विकल्प के साथ भी शुरू कर सकते हैं --autoreloadजो हर बार कोड बदलने के बाद अजवाइन को फिर से चालू करेगा।
सर्गेई ल्यपस्टिन

दुर्भाग्य से वंचित। कोई इस लिंक से समाधान का उपयोग कर सकता है: avilpage.com/2017/05/…
टोमाज़

50

मेरे पास एक ही समस्या थी: इसका कारण यह "Received unregistered task of type.."था कि सेलेरड सेवा को सेवा शुरू करने और कार्यों को पंजीकृत करने के लिए नहीं मिला था (जब आप शुरू करते हैं तो उनकी सूची दिखाई देती है ./manage.py celeryd --loglevel=info)।

इन कार्यों को CELERY_IMPORTS = ("tasks", )सेटिंग्स फ़ाइल में घोषित किया जाना चाहिए ।
यदि आपके पास एक विशेष celery_settings.pyफाइल है, तो उसे अजवाइन की सेवा के रूप --settings=celery_settings.pyमें घोषित किया जाना चाहिए जैसा कि डिजीव्यूरी ने लिखा है।


1
धन्यवाद, मेरे पास वास्तव में यह मुद्दा था क्योंकि मैंने प्रबंधन / कमांड का उपयोग करने के बजाय ~ / पथ / से / अजवाइन / अजवाइन का उपयोग करके अजवाइन शुरू किया था!
एंटोनी

27

चाहे आप उपयोग करें CELERY_IMPORTSया autodiscover_tasks, महत्वपूर्ण बिंदु यह है कि कार्य पाए जा सकते हैं और सेलेरी में पंजीकृत कार्यों का नाम उन नामों से मेल खाना चाहिए जिन्हें कार्यकर्ता लाने की कोशिश करते हैं।

जब आप सेलेरी लॉन्च करते हैं celery worker -A project --loglevel=DEBUG, तो कहते हैं , आपको कार्यों का नाम देखना चाहिए। उदाहरण के लिए, यदि मेरे पास कोई debug_taskकार्य है celery.py

[tasks]
. project.celery.debug_task
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap

आप सूची में अपने कार्यों को नहीं देख सकते हैं, सही ढंग से अपने अजवाइन विन्यास आयात कार्यों की जांच या तो में कृपया --setting, --config, celeryconfigया config_from_object

यदि आप अजवाइन बीट का उपयोग कर रहे हैं, तो सुनिश्चित करें कि कार्य का नाम है task, आप CELERYBEAT_SCHEDULEअजवाइन कार्य सूची में नाम से मेल खाते हैं।


यह बहुत मददगार था। कार्य के नाम को आपके CELERYBEAT_SCHEDULE में 'कार्य' कुंजी से मेल खाना चाहिए
ss_millionaire

* महत्वपूर्ण बिंदु यह है कि कार्य पाए जा सकते हैं और सेलेरी में पंजीकृत कार्यों का नाम उन नामों से मेल खाना चाहिए जिन्हें श्रमिक लाने की कोशिश करते हैं। * अच्छी बात!!!
लाइट.जी

यह सही जवाब है। BEAT_SCHEDULER में आपका कार्य का नाम ऑटोडिस्कवर किए गए कार्यों की सूची में जो भी दिखाता है, उससे मेल खाना चाहिए। इसलिए यदि आप उपयोग करते हैं, @task(name='check_periodically')तो यह आपको मैच के शेड्यूल में डाल देना चाहिए, IE:CELERY_BEAT_SCHEDULE = { 'check_periodically': { 'task': 'check_periodically', 'schedule': timedelta(seconds=1) }
मॉरमोरान

16

मुझे भी यही समस्या थी; मैंने कहा

CELERY_IMPORTS=("mytasks")

celeryconfig.pyइसे हल करने के लिए मेरी फ़ाइल में।


6
ध्यान दें कि यह एक सूची या एक टपल होना चाहिए:CELERY_IMPORTS = ['my_module']
Askol

यह मेरे लिए किया
रिज़ियो

11
app = Celery('proj',
             broker='amqp://',
             backend='amqp://',
             include=['proj.tasks'])

कृपया शामिल करें = ['proj.tasks'] आपको शीर्ष dir पर जाने की आवश्यकता है, फिर इसे निष्पादित करें

celery -A app.celery_module.celeryapp worker --loglevel=info

नहीं

celery -A celeryapp worker --loglevel=info

आपके celeryconfig.py इनपुट आयात = ("path.ptah.tasks"),

कृपया अन्य मॉड्यूल इनवोक कार्य में !!!!!!!!


1
includeआप रिश्तेदार आयात उपयोग कर रहे हैं परम जरूरत ऐड किया जाना है। मैंने अपना मुद्दा इसे जोड़कर हल किया है
CK.Nguyen

1
इस स्ट्रिंग के लिए अपना उत्तर दिया please in other module invoke task!!!!!!!!। यह मदद करता है।
VolArt

8

का उपयोग करते हुए --ettings मेरे लिए काम नहीं किया। मुझे इसे काम करने के लिए निम्नलिखित का उपयोग करना पड़ा:

celery --config=celeryconfig --loglevel=INFO

यहाँ celeryconfig फ़ाइल है जिसमें CELERY_IMPORTS जोड़ा गया है:

# Celery configuration file
BROKER_URL = 'amqp://'
CELERY_RESULT_BACKEND = 'amqp://'

CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'America/Los_Angeles'
CELERY_ENABLE_UTC = True

CELERY_IMPORTS = ("tasks",)

मेरा सेटअप थोड़ा अधिक मुश्किल था क्योंकि मैं डेमॉन के रूप में अजवाइन लॉन्च करने के लिए पर्यवेक्षक का उपयोग कर रहा हूं।


8

मेरे लिए यह त्रुटि django के INSTALLED_APPS सेटिंग में शामिल कार्यों को शामिल करने वाले एप्लिकेशन को सुनिश्चित करके हल की गई थी।


इसके अलावा, कार्यों को <app> /taches.py
np8

3

जब मैंने अपने django ऐप में कुछ सिग्नल हैंडलिंग को जोड़ा, तो मुझे रहस्यमय तरीके से फसल की समस्या थी। ऐसा करने में मैंने एक AppConfig का उपयोग करने के लिए ऐप को बदल दिया, जिसका अर्थ है कि केवल 'booking'इन' के रूप में पढ़ने के बजाय INSTALLED_APPS, यह पढ़ा 'booking.app.BookingConfig'

अजवाइन समझ में नहीं आता कि इसका क्या मतलब है, इसलिए मैंने INSTALLED_APPS_WITH_APPCONFIGS = ('booking',)अपनी django सेटिंग्स में जोड़ा , और मेरे celery.pyसे संशोधित किया

app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

सेवा

app.autodiscover_tasks(
    lambda: settings.INSTALLED_APPS + settings.INSTALLED_APPS_WITH_APPCONFIGS
)

3

मेरे लिए जो काम किया गया, वह था अजवाइन के कार्य डेकोरेटर में स्पष्ट नाम जोड़ना। मैंने अपने कार्य घोषणा बदल @app.tasksकरने के लिए@app.tasks(name='module.submodule.task')

यहाँ एक उदाहरण है

# test_task.py
@celery.task
def test_task():
    print("Celery Task  !!!!")

# test_task.py
@celery.task(name='tasks.test.test_task')
def test_task():
    print("Celery Task  !!!!")

2

मुझे वही समस्या थी जो सेलेरी बीट से कार्य चलाने में थी। अजवाइन सापेक्ष आयात पसंद नहीं करता है इसलिए मेरे पास celeryconfig.py, मुझे स्पष्ट रूप से पूरा पैकेज नाम सेट करना पड़ा:

app.conf.beat_schedule = {
   'add-every-30-seconds': {
        'task': 'full.path.to.add',
        'schedule': 30.0,
        'args': (16, 16)
    },
}

मैं चाहता हूं कि अजवाइन के डॉक्स में पूर्ण पैकेज नामों के साथ और अधिक उदाहरण हों। इस उत्तर में full.path.to.add देखने के बाद, मुझे पता चला कि मुझे आयात की आवश्यकता नहीं है। मुझे पता था कि समाधान सरल था, और बस app.conf.beat_schedule का बेहतर उदाहरण होना चाहिए।
ज़ीरोकॉग

2

यह, अजीब तरह से, एक लापता पैकेज के कारण भी हो सकता है। सभी आवश्यक पैकेजों को स्थापित करने के लिए पाइप चलाएँ: pip install -r requirements.txt

autodiscover_tasks लापता पैकेज का उपयोग करने वाले कार्यों को नहीं उठा रहा था।


1
मेरा मुद्दा भी ऐसा ही था। मुझे लगता है कि जो होता है वह आयात के दौरान एक अपवाद होता है जो ऑटो-डिस्कवरी के कुछ हिस्सों को पूरा नहीं करता है।
टिम टिस्डाल

आह, हाँ, समझ में आता है। धन्यवाद
काकोमा

1

मैं Django के साथ कोई मुद्दा नहीं था । लेकिन इसका सामना तब हुआ जब मैं फ्लास्क का उपयोग कर रहा था । समाधान कॉन्फ़िगरेशन विकल्प सेट कर रहा था।

celery worker -A app.celery --loglevel=DEBUG --config=settings

Django के साथ, मैं अभी था:

python manage.py celery worker -c 2 --loglevel=info


1

मुझे इस समस्या का भी सामना करना पड़ा, लेकिन यह बिलकुल नहीं है, इसलिए सिर्फ FYI करें। हाल ही में नवीनीकरण इस डेकोरेटर सिंटैक्स के कारण त्रुटि संदेश का कारण बनता है।

ERROR/MainProcess] Received unregistered task of type 'my_server_check'.

@task('my_server_check')

सिर्फ बदलने के लिए किया था

@task()

कोई सुराग क्यों नहीं।


1

यदि आप इस तरह से स्थापित एप्लिकेशन में एप्लिकेशन कॉन्फिग का उपयोग कर रहे हैं:

LOCAL_APPS = [
'apps.myapp.apps.MyAppConfig']

फिर अपने कॉन्फिग ऐप में, इस तरह से तैयार विधि में कार्य को आयात करें:

from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'apps.myapp'

    def ready(self):
        try:
            import apps.myapp.signals  # noqa F401
            import apps.myapp.tasks
        except ImportError:
            pass

0

यदि आप इस तरह की त्रुटि में चल रहे हैं, तो कई संभावित कारण हैं, लेकिन मैंने जो समाधान पाया वह यह था कि मेरी celeryd config फाइल / etc / चूक / celeryd मानक उपयोग के लिए कॉन्फ़िगर की गई थी, मेरे विशिष्ट django प्रोजेक्ट के लिए नहीं। जैसे ही मैंने इसे अजवाइन के डॉक्स में निर्दिष्ट प्रारूप में परिवर्तित किया , सब ठीक था।


0

मेरे लिए इस लाइन को / etc / default / celeryd में जोड़ने का उपाय

CELERYD_OPTS="-A tasks"

क्योंकि जब मैं ये आदेश चलाता हूं:

celery worker --loglevel=INFO
celery worker -A tasks --loglevel=INFO

केवल बाद वाली कमांड ही कार्य के नाम दिखा रही थी।

मैंने CELERY_APP लाइन / etc / default / celeryd जोड़ने की भी कोशिश की है, लेकिन यह भी काम नहीं किया।

CELERY_APP="tasks"

0

मैं django-celery में PeriodicTask कक्षाओं के साथ मुद्दा था, जबकि उनके नाम ठीक दिखाई दिए जब अजवाइन कार्यकर्ता हर निष्पादन शुरू कर दिया:

KeyError: u'my_app.tasks.run '

मेरा कार्य 'क्लीनअप' नामक एक वर्ग था, न कि केवल 'रन' नामक एक विधि।

जब मैंने टेबल 'djcelery_periodictask' की जाँच की तो मैंने पुरानी प्रविष्टियाँ देखीं और उन्हें हटाते हुए इस मुद्दे को ठीक कर दिया।


0

बस इस त्रुटि के साथ मेरे मामले के लिए मेरे दो सेंट जोड़ने के लिए ...

मेरा रास्ता इसके /vagrant/devops/testसाथ app.pyऔर __init__.pyइसमें है।

जब मैं चलाता cd /vagrant/devops/ && celery worker -A test.app.celery --loglevel=infoहूं तो मुझे यह त्रुटि मिल रही है।

लेकिन जब मैं इसे चलाता हूं तो cd /vagrant/devops/test && celery worker -A app.celery --loglevel=infoसब कुछ ठीक है।


0

मैंने पाया है कि हमारे एक प्रोग्रामर ने निम्न में से एक को आयात में जोड़ा है:

os.chdir(<path_to_a_local_folder>)

इससे सेलेरी कार्यकर्ता को अपनी कार्यशील निर्देशिका को प्रोजेक्ट्स की डिफॉल्ट वर्किंग डाइरेक्टरी (जहाँ यह कार्यों को पा सकती थी) से बदलकर एक अलग डायरेक्टरी (जहाँ यह कार्यों को नहीं पा सके) में बदल दिया।

कोड की इस लाइन को हटाने के बाद, सभी कार्य पाए गए और पंजीकृत किए गए।


0

अजवाइन मेरे celeryconfig.py में सापेक्ष आयात का समर्थन नहीं करता है, आपको पूर्ण आयात की आवश्यकता है।

CELERYBEAT_SCHEDULE = {
        'add_num': {
            'task': 'app.tasks.add_num.add_nums',
            'schedule': timedelta(seconds=10),
            'args': (1, 2)
        }
}

0

एक बहुत ही उपयोगी सूची के लिए एक अतिरिक्त आइटम।

मैंने कार्यों में त्रुटियों के संबंध में सेलेरी को अक्षम पाया है (या कम से कम मैं उपयुक्त लॉग प्रविष्टियों का पता लगाने में सक्षम नहीं है) और यह उन्हें पंजीकृत नहीं करता है। मेरे पास एक सेवा के रूप में सेलेरी चलाने के साथ कई समस्याएं हैं, जो मुख्य रूप से संबंधित अनुमतियाँ हैं।

लॉग फ़ाइल में लिखने की अनुमति से संबंधित नवीनतम। मेरे पास कमांड लाइन पर विकास या अजवाइन चलाने में कोई समस्या नहीं थी, लेकिन सेवा ने कार्य को अपंजीकृत के रूप में रिपोर्ट किया।

मुझे सेवा को लिखने के लिए सक्षम करने के लिए लॉग फ़ोल्डर अनुमतियों को बदलने की आवश्यकता थी।


0

मेरे 2 सेंट

मैं एक docker छवि में अल्पाइन का उपयोग करके यह प्राप्त कर रहा था। Django सेटिंग्स /dev/logको syslog में लॉग करने के लिए संदर्भित किया गया है। Django ऐप और अजवाइन कार्यकर्ता दोनों एक ही छवि पर आधारित थे। Django ऐप इमेज का एंट्रीपॉइंट शुरू होने syslogdपर लॉन्च हो रहा था , लेकिन अजवाइन कार्यकर्ता के लिए एक नहीं था। यह चीजों ./manage.py shellको विफल करने का कारण बन रहा था क्योंकि कोई भी नहीं होगा /dev/log। अजवाइन कार्यकर्ता विफल नहीं था। इसके बजाय, यह चुपचाप बस ऐप लॉन्च के बाकी हिस्सों को अनदेखा कर रहा था, जिसमें shared_taskdjango प्रोजेक्ट में एप्लिकेशन से लोडिंग प्रविष्टियां शामिल थीं


0

मेरे मामले में त्रुटि इसलिए थी क्योंकि एक कंटेनर ने एक फ़ोल्डर में फाइलें बनाई थीं जो डॉकटर-कम्पोज के साथ होस्ट फाइल-सिस्टम पर घुड़सवार थीं।

मुझे बस मेजबान सिस्टम पर कंटेनर द्वारा बनाई गई फ़ाइलों को निकालना था और मैं फिर से अपनी परियोजना शुरू करने में सक्षम था।

sudo rm -Rf फ़ोल्डरनाम

(मुझे sudo का उपयोग करना पड़ा क्योंकि फ़ाइलें रूट उपयोगकर्ता के स्वामित्व में थीं)

डॉकर संस्करण: 18.03.1


0

यदि आप उपयोग करते हैं autodiscover_tasks, तो सुनिश्चित करें कि आपका functionsपंजीकृत रहना है tasks.py, किसी अन्य फ़ाइल में नहीं। या अजवाइन functionsआप रजिस्टर करना चाहते हैं नहीं मिल सकता है ।

उपयोग app.register_taskभी काम करेगा, लेकिन थोड़ा भोला लगता है।

कृपया इस आधिकारिक विनिर्देश का संदर्भ लें autodiscover_tasks

def autodiscover_tasks(self, packages=None, related_name='tasks', force=False):
    """Auto-discover task modules.

    Searches a list of packages for a "tasks.py" module (or use
    related_name argument).

    If the name is empty, this will be delegated to fix-ups (e.g., Django).

    For example if you have a directory layout like this:

    .. code-block:: text

        foo/__init__.py
           tasks.py
           models.py

        bar/__init__.py
            tasks.py
            models.py

        baz/__init__.py
            models.py

    Then calling ``app.autodiscover_tasks(['foo', bar', 'baz'])`` will
    result in the modules ``foo.tasks`` and ``bar.tasks`` being imported.

    Arguments:
        packages (List[str]): List of packages to search.
            This argument may also be a callable, in which case the
            value returned is used (for lazy evaluation).
        related_name (str): The name of the module to find.  Defaults
            to "tasks": meaning "look for 'module.tasks' for every
            module in ``packages``."
        force (bool): By default this call is lazy so that the actual
            auto-discovery won't happen until an application imports
            the default modules.  Forcing will cause the auto-discovery
            to happen immediately.
    """


0

जब अजवाइन को "अजवाइन-एक कार्यकर्ता -l जानकारी" के साथ चलाया जाता है, तो सभी कार्य लॉग में सूचीबद्ध होते हैं जैसे मैं कर रहा था। conf.celery.debug_task मुझे त्रुटि मिल रही थी क्योंकि मैं यह सटीक कार्य पथ नहीं दे रहा था। तो कृपया सटीक कार्य आईडी को कॉपी और पेस्ट करके इसे पुनः चेक करें।


0
app = Celery(__name__, broker=app.config['CELERY_BROKER'], 
backend=app.config['CELERY_BACKEND'], include=['util.xxxx', 'util.yyyy'])

0

आपकी समस्या का उत्तर आपके प्रश्न में दिए गए आउटपुट के पहले लाइन में निहित है /usr/local/lib/python2.7/dist-packages/celery/loaders/default.py:64: NotConfigured: No 'celeryconfig' module found! Please make sure it exists and is available to Python. "is available to Python." % (configname, ))):। सही कॉन्फ़िगरेशन के बिना सेलेरी कुछ भी करने में सक्षम नहीं है।

कारण यह नहीं मिल सकता है कि celeryconfig सबसे अधिक संभावना है कि यह आपके PYTHONPATH में नहीं है।


0

मैंने अपनी समस्या को हल कर लिया है, मेरा 'कार्य' एक अजगर पैकेज के तहत है, जिसका नाम 'celery_task', है, जब मैं इस पैकेज को छोड़ता हूं, और कमांड चलाता हूं celery worker -A celery_task.task --loglevel=info। यह काम करता हैं।

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