栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Celery,在指定时间运行一次任务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Celery,在指定时间运行一次任务

如果您坚持使用芹菜

要在指定的时间运行任务,在Celery中,您通常会使用
定期任务

,该 任务 通常是重复执行的任务。

但是,您可以创建具有非常特定的计划和条件的定期任务,该任务仅发生一次,因此只能运行一次。

不幸的是,我们只能指定了这么多,例如我们可以指定

hour
minute
day_of_month
month_of_year
,但我们不能确定
year

但是,您的任务每年最多可以运行1次,因此以下是一些解决方法:

运行后取消计划

一旦运行,取消 计划的时间 应该相对容易(您需要1年的时间!)

任务完成时使用“ DONE”标志

通过在某处(磁盘或数据库)写一个标志,您可以首先检查任务是否已经运行过,即

if done: exit

如果年份不正确 或想要安全起见,请 退出 ,只需将代码添加到检查年份的任务中即可,例如

if year != 2017: exit

简单的cron / Os级调度程序也可以工作

您也可以完全跳过Celery,并在类似UNIX的系统上使用某些操作系统级别的工具(例如cron)。

总体思路保持不变。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号