Python 3.6.5芹菜v4.2.1, 如何解决当芹菜拍发一次到期任务时,主进程收到三个任务? 芹菜节拍:
CELERYBEAT_SCHEDULE = {
'stats-every-midnight': {
'task': 'tasks.stats.stats',
'schedule': crontab(minute=0, hour=0)
}
}
日志:
[2020-12-15 00:00:00,079: INFO/Beat] Scheduler: Sending due task stats-every-midnight (tasks.stats.stats)
[2020-12-15 00:00:00,084: INFO/MainProcess] Received task: tasks.stats.stats[cc9206a0-228d-4eeb-8e04-1137209beb7c]
[2020-12-15 00:00:00,098: INFO/MainProcess] Received task: tasks.stats.stats[46f448f1-41d1-4cad-803e-89b3f25bcf11]
[2020-12-15 00:00:00,102: INFO/MainProcess] Received task: tasks.stats.stats[54ef61ef-5f2e-49ea-b7af-84da8e12ee47]
如果您有3个芹菜工人,他们都是从类似
celery -A <app> worker -B ...
的东西开始的,这基本上会启动3个单独的调度器,那么就可能发生这种情况。人们经常犯这样的错误。。。建议:不要在开始芹菜加工时嵌入beat过程(使用-B
选项)。此选项已添加到芹菜中,以便于开发。它从未打算用于生产相关问题 更多 >
编程相关推荐