python-3.x – 如何动态地将计划任务添加到Celery beat
发布时间:2020-12-20 13:12:16 所属栏目:Python 来源:网络整理
导读:使用Celery ver.3.1.23,我试图动态地向celery beat添加一个计划任务.我有一个芹菜工人和一个芹菜击败实例运行. 触发标准芹菜任务y运行task.delay()工作正常.当我将计划的周期性任务定义为配置中的设置时,celery beat会运行它. 但是我需要的是能够在运行时添
使用Celery ver.3.1.23,我试图动态地向celery beat添加一个计划任务.我有一个芹菜工人和一个芹菜击败实例运行.
触发标准芹菜任务y运行task.delay()工作正常.当我将计划的周期性任务定义为配置中的设置时,celery beat会运行它. 但是我需要的是能够在运行时添加在指定的crontab上运行的任务.将任务添加到持久调度程序后,芹菜节拍似乎没有检测到新添加的新任务.我可以看到celery-schedule文件确实有一个带有新任务的条目. 码: scheduler = PersistentScheduler(app=current_app,schedule_filename='celerybeat-schedule') scheduler.add(name="adder",task="app.tasks.add",schedule=crontab(minute='*/1'),args=(1,2)) scheduler.close() print(scheduler.schedule) app.tasks.add有@ celery.task装饰器. 解决方法
您可以通过启用
autoreloading来解决您的问题.
但是,我不是100%确定它适用于您的配置文件,但它应该在CELERY_IMPORTS路径中. Hoverer注意到此功能是实验性的,不能用于生产. 如果您真的想要动态celerybeat调度,您可以始终使用another scheduler like the django-celery one通过django管理员管理db上的定期任务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |