您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

要在指定的时间运行任务,在Celery中,您通常会使用定期任务 ,该 任务 通常是重复执行的任务。

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

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

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

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

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

或想要安全起见,请 ,只需将代码添加到检查年份的任务中即可,例如if year != 2017: exit

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

总体思路保持不变。

其他 2022/1/1 18:29:48 有495人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶