按定期时间表执行芹菜任务



我正在尝试用django中的芹菜执行任务。我想每天12:30 pm执行我的任务。

@periodic_task(run_every=crontab(minute=30, hour=12), name="elast")
def elast():
        do something

这是不起作用的,但是如果我想在每30秒钟安排它,我会编写此代码

@periodic_task(run_every=(timedelta(seconds=30)), name="elast")
def elast():
        do something

这个起作用。我想知道第一件代码有什么问题?

根据最新的芹菜4.3版,在代码下方12:30 pm执行任务将很有用芹菜.py

from celery.schedules import crontab
app.conf.beat_schedule = {
    # Executes every day at  12:30 pm.
    'run-every-afternoon': {
        'task': 'tasks.elast',
        'schedule': crontab(hour=12, minute=30),
        'args': (),
    },
}

tasks.py

import celery
@celery.task
def elast():
    do something

启动芹菜节奏调度程序芹菜-A Proj Worker -B

对于芹菜2.0

周围的较旧版本
from celery.task.schedules import crontab
from celery.decorators import periodic_task
@periodic_task(run_every=crontab(hour=12, minute=30))
def elast():
    print("code execution started.")

请检查时区设置。

新的userguide

旧的userguide

查看文档,尤其是Django用户特定的部分。另请注意,使用@periodic_task装饰器已弃用,应替换为beat_schedule配置(请参阅代码(。

相关内容

  • 没有找到相关文章