celery beat schedule如何循环执行一系列任务?
和官网的示例类似,我想要每隔20秒循环一次add(1,2),add(2,3) 和 add(3,4)这三个任务,代码改如何更改?
proj/__init__.py
/celeryapp.py
/tasks.py
celeryapp.py
from celery import Celery
from datetime import timedelta
add = [(1,2),(2,3), (3,4)]
celeryapp = Celery('proj',
backend='amqp://',
broker='amqp://',
include=['proj.tasks'])
celeryapp.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
CELERY_ROUTES = {
'proj.tasks.add': {'queue': 'hipri'},
},
CELERYBEAT_SCHEDULE = {
"add": {
"task": "proj.tasks.add",
"schedule": timedelta(seconds=20),
"args": add
},
},
)
if __name__ == '__main__':
celeryapp.start()
tasks.py
from __future__ import absolute_import
from proj.celeryapp import celeryapp
from celery import group
@celeryapp.task
def add(x, y):
return x + y
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
celeryapp.conf.update(