簡體   English   中英

我嘗試執行任務時出現Celery KeyError

[英]Celery KeyError when i try to execute task

按照“芹菜的第一步”,我具有以下結構:

芹菜_

  • 配置
    • celery.py
    • celeryconfig.py
  • 任務
    • tasks.py
  • run_tasks.py

celery.py:

from celery import Celery
from config import celeryconfig
app = Celery('tasks', backend='rpc://', broker='pyamqp://')
app.config_from_object(celeryconfig)

celeryconfig.py

broker_url = 'pyamqp://'
result_backend = 'rpc://'
task_serializer = 'json'
result_serializer = 'json'
accept_content = ['json']
timezone = 'Europe/Oslo'
enable_utc = True

task_routes = {
'tasks.add': 'low-priority',
}
task_annotations = {
   'tasks.add': {'rate_limit': '10/m'}
}

tasks.py:

from config.celery import app


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

run_tasks.py:

from tasks.tasks import add
res = add.delay(4,4)
a = res.get()
print(a)

這是一個非常簡單的配置,但是當我運行run_tasks.py時,控制台顯示錯誤:

....追溯(最近的最后一次呼叫最后一次):在on_task_received策略[名稱](消息,正文,KeyError)中,文件“ /usr/lib/python3/dist-packages/celery/worker/consumer.py”,第456行:'tasks.tasks.add'

請幫幫我。 怎么了?

您需要將任務導入celery.py

from celery import Celery
from config import celeryconfig
app = Celery('tasks.tasks', backend='rpc://', broker='pyamqp://')
app.config_from_object(celeryconfig)
import tasks.tasks

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM