触发标准芹菜任务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)
{‘celery.backend_cleanup’:,
‘adder’:}
app.tasks.add有@ celery.task装饰器.
解决方法 您可以通过启用 autoreloading来解决您的问题.但是,我不是100%确定它适用于您的配置文件,但它应该在CELERY_importS路径中.
Hoverer注意到此功能是实验性的,不能用于生产.
如果您真的想要动态celerybeat调度,您可以始终使用another scheduler like the django-celery one通过django管理员管理db上的定期任务.
总结以上是内存溢出为你收集整理的python-3.x – 如何动态地将计划任务添加到Celery beat全部内容,希望文章能够帮你解决python-3.x – 如何动态地将计划任务添加到Celery beat所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)