python - 在加载时运行 Django celery
问题描述
嗨,我正在做一个需要 celery beat 来运行长期定期任务的项目。但问题是,在启动 celery beat 后,第一次运行需要指定的时间。
我想第一次在加载时触发任务,然后定期运行。
我在 stackoverflow 上看到了这个问题,在 GitHub 上看到了这个问题,但没有找到可靠的解决方案。
对这个有什么建议吗?
解决方案
由于这似乎不可能,我建议采用不同的方法。在需要时显式调用任务,让调度程序像往常一样继续调度任务。您可以使用以下方法之一在启动时调用任务(ready
如果任务不是幂等的,您可能需要处理该方法的多次调用)。celery call
或者,在 django 服务器启动命令之后使用命令行调用任务。
推荐阅读
- terraform - 如何循环自定义模块
- python - 寻找运行速度更快的代码或运行时间是否合理的意见
- javascript - 以巧妙的方式加载 Google Adsense 和其他 Advertise javascript
- elasticsearch - 更新索引设置时是否应该在弹性搜索中重新索引文档
- mysql - 如果第一个 SELECT 返回 0 行,则在另一个表中进行第二个 SELECT 查询
- spring-boot - 如何防止 Quartz 调度程序丢失少量执行
- java - Java 约束编程
- excel - 将变量分配给从 Access 中打开的 Excel 工作簿
- ant - 使用 weblogic 9.2 构建 Ant 时出现 java.lang.ExceptionInInitializerError 错误
- javascript - 如何将数据从组件1内部的方法传递到组件2