美文网首页Python
Python定时任务调度库schedule

Python定时任务调度库schedule

作者: lijun_m | 来源:发表于2018-03-06 10:54 被阅读407次

安装:pip install schedule

schedule其实就只是个定时器,在while True死循环中,schedule.run_pending()是保持schedule一直运行,去查询上面那一堆的任务,在任务中,就可以设置不同的时间去运行。跟crontab是类似的

        但是,如果是多个任务运行的话,实际上它们是按照顺序从上往下挨个执行的。如果上面的任务比较复杂,会影响到下面任务的运行时间。其实解决方法也很简单:用多线程/多进程。开了一条线程,就把job独立出去运行了,不会占主进程的cpu时间,schedule并没有花掉执行一个任务的时间,它的开销只是开启一条线程的时间

        唯一要注意的是,这里面job不应当是死循环类型的,也就是说,这个线程应该有一个执行完毕的出口。一是因为线程万一僵死,会是非常棘手的问题;二是下一次定时任务还会开启一个新的线程,执行次数多了就会演变成灾难。

相关文章

网友评论

  • Oo莫莫oO:轻量化的任务调度。如果要设定,每天8点到18点,每5分钟执行一次。该怎么做?
  • 5c39c691b65a:你好。。我昨晚也在尝试使用这个库。
    遇到疑问,
    假设 我要 每分钟的42秒执行 里面的job,
    再假设,我要 每个十分钟里的7分42秒执行一次 job呢?
    即7分42秒,17分42秒,27分42秒,37分42秒,47分42秒,57分42秒,如此循环下去
    看要求应该是每十分钟的7分42秒执行job,
    若代码运行的时间是,6分10秒,程序如何在7分42秒执行一次job,然后每十分钟的7分42秒执行job

    请前辈指点。谢谢

本文标题:Python定时任务调度库schedule

本文链接:https://www.haomeiwen.com/subject/svjlfftx.html