为什么我在尝试运行芹菜节拍时收到 KeyError:'scheduler'?



我在Django中使用celeni来定期安排任务。以下是文件:

tasks.py

@periodic_task(run_every=timedelta(minutes=1))
def query():
...

celery.py

from __future__ import absolute_import, unicode_literals
from os import environ, path
from celery import Celery
from django.conf import settings
PROJECT_NAME = path.basename(path.dirname(__file__))
environ.setdefault('DJANGO_SETTINGS_MODULE', '%s.settings' % PROJECT_NAME)
app = Celery(PROJECT_NAME)
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

当我运行时

celery -A project worker

启动工作程序,执行良好。然而,当我运行时

celery -A project beat

为了启动节拍调度程序,我得到以下错误:

KeyError: 'scheduler'

为什么会发生这种情况?我在PyCharm中使用流浪者,并通过流浪者ssh访问服务器。

更新:

如果我运行

celery -A project worker --beat --scheduler django --loglevel=info

我没有收到任何错误,但工人们没有收到任何任务。因此,似乎由于某种原因没有收到任务。

同时添加

app.conf.beat_schedule = {
"query": {
"task": "query",
"schedule": crontab(minute="*", hour="*", day_of_month='*')
}
}

到celery.py并添加

@app.task(name="query")

任务。py不起作用。

尝试在任务上添加路径

app.conf.beat_schedule = {
"query": {
"task": "query",
"schedule": crontab(minute="*", hour="*", day_of_month='*')
}
}

"尝试在任务上添加路径-project_name.tasks.func_name">

相关内容

  • 没有找到相关文章

最新更新