首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在准确的时间内运行django-cron作业

如何在准确的时间内运行django-cron作业
EN

Stack Overflow用户
提问于 2012-04-11 07:20:59
回答 1查看 2.5K关注 0票数 0

我不能在我的项目中使用芹菜,只有django-cron。我需要每天执行两次任务:

  • ,上午11:59,
  • ,晚上11:59,

我能做吗?我只找到了RUN_EVERY (在mins或secs中)变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 08:29:14

我熟悉这个django-cron:https://github.com/andybak/django-cron

您可以设置驱动django-cron只在那些时候运行的实际cron作业(如果您想让它运行其他作业,但对于您描述的用例,这会降低它的有用性)。在这种情况下,您的crontab条目应该如下所示:

代码语言:javascript
复制
59 11,23 * * * /path/to/python /path/to/manage.py cronjobs

有了crontab条目,django cron每天只运行两次,分别是上午11:59分和晚上11:59分,所以即使您指定了作业每分钟运行一次,它也只能在这些时间运行。但是,如果cron作业因任何原因而失败,它将在接下来的12小时内不运行。

或者,您可以将作业设置为每12小时运行一次。

代码语言:javascript
复制
HOUR * 12

运行一次后,手动编辑数据库,说明最后一次运行是在晚上11:59或am (以将来的日期为准),然后在该时间之后每12小时开始运行一次,所以应该总是在11:59的时候开始运行。在这种情况下,如果作业失败,则可以在12:00或更晚的时间开始运行,因为它试图恢复。

如果您使用的django-cron与我在一开始提到的不同,那么这些想法中的一些可能是适用的,但可能不适用。如果你使用的是刚开始提到的那个--确保你加入了一个最近的版本--5天前,我对它做出了承诺,这样工作就不会在时间中漂移(也就是说,在61分钟后运行,而不是60分钟等),因为它们在某些情况下是这样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10101573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档