芹菜仅执行同步任务

时间:2020-03-20 12:38:43

标签: python rabbitmq celery git-submodules schedule

我必须处理子模块存储库,因此我希望仅运行同步任务。我正在使用芹菜暂挂任务来定期更新我的仓库,而且在用户请求后我还必须执行相同的任务。

这是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

但是用户调用的任务与计划冲突。有想法吗?

1 个答案:

答案 0 :(得分:0)

使用芹菜节拍,“急切”任务以及安排任意任务毫无意义。在我看来,“急切”设置仅对测试有用。您可能会对solo工作程序或具有单个工作程序进程(prefork)的默认--concurrency=1感到满意。