【问题标题】:Celery beat scheduling option to immediately launch task upon celery launchCelery beat 调度选项可在 celery 启动时立即启动任务
【发布时间】:2017-01-04 22:49:11
【问题描述】:

我可以使用settings.py 中的 celery beat 在我的 Django 应用程序中安排每小时任务,如下所示:

CELERYBEAT_SCHEDULE={
'tasks.my_task':{
'task':'tasks.my_task',
'schedule':timedelta(seconds=60*60),
'args':(),
},
}

但是有没有办法安排一个任务,使其立即排队并计算,然后从那里开始按照配置的计划?例如,在 celery 启动时立即执行选定的任务。那是什么配置?

【问题讨论】:

    标签: celery django-celery celery-task celerybeat


    【解决方案1】:

    将以下内容添加到tasks.py

    obj = locals()['task_function_name']
    obj.run()
    

    这可确保在运行 celery 时运行指定的任务。此后,它按计划执行。

    【讨论】: