我必须处理子模块存储库,因此我希望仅运行同步任务。我正在使用芹菜暂挂任务来定期更新我的仓库,而且在用户请求后我还必须执行相同的任务。
这是Celery时间表配置:
app.conf.beat_schedule = {
'sync': {
'task': 'app.task_to_sync',
'schedule': 0.2
}
}
(测试的时间表设置为0.2秒)。
这是用户请求调用:
task_to_sync.apply().get()
我设置了这些设置以防止异步呼叫:
settings.task_always_eager = True
settings.task_eager_propagates = True
但是用户调用的任务与计划冲突。有想法吗?
答案 0 :(得分:0)
使用芹菜节拍,“急切”任务以及安排任意任务毫无意义。在我看来,“急切”设置仅对测试有用。您可能会对solo
工作程序或具有单个工作程序进程(prefork
)的默认--concurrency=1
感到满意。