我首先只在django中使用芹菜。
这是我的配置,
from __future__ import absolute_import
import os
from celery import Celery
from celery.schedules import crontab
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'inventory.settings')
app = Celery('inventory')
app.config_from_object('django.conf:settings', namespace='CELERY')
#app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
app.autodiscover_tasks()
app.conf.beat_schedule = {
'send-report-every-single-minute': {
'task': 'db.tasks.send_daily_report',
'schedule': crontab(minute='*/1'),
},
}
我跑了芹菜工人并且打败了,任务正常。
celery -A inventory worker -l info
celery -A inventory beat -l info
但现在,我正在使用该软件包django-celery-beat
。
我在django管理面板中添加了计划,并启用了相同的任务。但它并没有把任务交给芹菜工人。工人继续等待。它一直停留在开始,
当我手动运行节拍时,它也没有显示预定的任务,
$ celery -A inventory beat -l debug
[2017-12-21 16:10:48,471: INFO/MainProcess] beat: Starting...
[2017-12-21 16:10:48,527: DEBUG/MainProcess] Current schedule:
[2017-12-21 16:10:48,527: DEBUG/MainProcess] beat: Ticking with max interval->5.00 minutes
[2017-12-21 16:10:48,528: DEBUG/MainProcess] beat: Waking up in 5.00 minutes.
请参阅下面的Current Schedule
行,它只显示空行。
仅当我通过django管理面板添加任务计划时才会发生。
它也没有显示django管理面板中的芹菜清理任务。