python - 如何在 Django 中动态调度任务?

标签 python django celery

我需要在 Django 中构建一个应用程序,让用户每天在运行时指定的时间执行一些任务。

我查看了 Celery,但找不到任何有用的东西。我找到了 apply_async 并且我可以让任务在指定的持续时间内执行一次但不是经常性的。我错过了一些东西,但不知道是什么。

请建议我怎样才能做到这一点。

最佳答案

django-celery-beat 包允许您动态地向数据库添加任务,然后按照您在数据库中定义的方式执行它们。(例如,每 5 分钟一次)但是目前它们有错误导致该任务在添加到数据库时未附加到 celery 队列。一种建议的解决方法是每次添加新任务时重新启动 celery 进程。
我用 Dan Baders schedule 包解决了这个问题。我每分钟安排一次任务,检查数据库中需要在当前分钟执行的任务。然后我在新线程中开始每个任务。
希望这会有所帮助。

关于python - 如何在 Django 中动态调度任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43733387/

相关文章:

Python float 到 int 的转换

python - sqlContext.createDataFrame() 的参数应该是什么?

python - 单个字典包含同一键下的多个列表列表。希望将同一键下的所有值合并到一个列表中

python - 对无响应的 Flask 路由的调用设置超时(更新)

docker - 如何与每个容器 celery worker 一起使用单独的容器服务?

java - 永久更新 tensorflow-java 中的变量(在推理期间)

Python无法识别请求 header 中的cookie

python - 用装饰器覆盖 Django View

python - 我无法在 Fabric 中使用 virtualenvwrapper 切换 virtualenv

python - 无法将 celery 与docker上的rabbitmq服务器连接