芹菜在同一时间间隔组下击败了多个任务

xbb*_*xbb 10 python celery flask celerybeat

我正在尝试设置两个每分钟都运行的任务.有没有办法将它们组合在一起运行?

CELERYBEAT_SCHEDULEceleryconfig.py下面指定:

CELERYBEAT_SCHEDULE = {
    'every-minute': {
        'task': 'tasks.add',
        'schedule': crontab(minute='*/1'),
        'args': (1,2)
    },
}
Run Code Online (Sandbox Code Playgroud)

所以如果我想运行两个任务,我会期待这样的事情?

CELERYBEAT_SCHEDULE = {
    'every-minute': {
        'task': ['tasks.add','task.multiply'],
        'schedule': [crontab(minute='*/1'),crontab(minute='*/1')],
        'args': [(1,2),(3,4)]
    },
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.这样做有什么标准方法吗?

Has*_*san 15

芹菜文档:周期任务规定,你只能有要执行的任务的名称(不是列表等)

您可以创建两个不同的计划条目:

CELERYBEAT_SCHEDULE = {
    'every-minute_add': {
        'task': 'tasks.add',
        'schedule': crontab(minute='*/1'),
        'args': (1,2)
    },
    'every-minute_multiply': {
        'task': 'task.multiply',
        'schedule': crontab(minute='*/1'),
        'args': (3,4)
    },
}
Run Code Online (Sandbox Code Playgroud)