【问题标题】:run cronjob 1 hour after the last run finished上次运行完成后 1 小时运行 cronjob
【发布时间】:2021-08-31 23:27:59
【问题描述】:

我有一个 django cron 并每小时使用 linux crontab 运行它。但我想更改 crontab 以在最后一次执行完成后 1 小时运行 django cron。我该怎么做?

这是 crontab:

*/1 * * * * /usr/bin/python3.8 /django/vira/manage.py runcrons

这是 django-cron:

from django_cron import CronJobBase, Schedule
from . import runner


# create a class extending CronJobBase
class PushCronJob(CronJobBase):
    RUN_EVERY_MINS = 10
    schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
    code = "vira_app.runner"

    def do(self):
        runner.run_spider()

【问题讨论】:

    标签: python django cron


    【解决方案1】:

    也许您可以每分钟运行一次 cron 作业并检查它是否已经运行了一个小时。

    【讨论】:

    • 怎么样? ...例如,cronjob 从 11:30 开始,在 11:50 结束 ...我想在 12:50 开始下一个 cronjob,而不是在 12:30
    • 为此,您将需要某种内存来存储上次执行 cron 的时间。您可能必须在每次执行结束时更新它
    • 然后计算是否已经过了一个小时,然后再次运行任务。
    猜你喜欢
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2014-10-28
    • 2018-02-05
    • 1970-01-01
    • 2016-04-27
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多