【问题标题】:Periodically running script with periods of time idle?定期运行一段时间空闲的脚本?
【发布时间】:2013-08-11 11:02:53
【问题描述】:

我正在寻求一些帮助来理解和使用 python 调度程序,以便能够创建一个函数来在特定时间调用脚本并在特定时间空闲。

我想以最通用的方式创建一个脚本来执行以下操作:

  • 在 01:30 和 23:50 期间,它必须每 3 分钟运行一次(+ 或 - 随机 60 秒)
  • 函数每次运行时都必须调用多个脚本。
  • 在 23:50,它必须运行不同的脚本并停止运行之前的脚本,直到时间回到 01:30,例程再次开始。

我将尝试简化以下内容:

01:30 to 23:50: Calls "MAIN.py" and "SEC.py"
23:50: Calls "DO.py"
23:50 to 01:30: Idles (Does nothing during these hours)
The loop will now start again

有人知道如何实现这一目标吗?

我一直在看:Timer 和 Sched,但我的尝试似乎没有任何效果..

【问题讨论】:

  • 你看过time模块吗?
  • @KaranGoek 是的,我已经看过了,调度程序和其他一些类型的调度程序库,但无法根据需要进行任何工作,对于如此简单的任务,它非常令人沮丧
  • 您可以编写一个小 shell 脚本来执行此操作,并使用名为 cron 的实用程序。
  • @Vor 是的,我应该提到我不能为此使用 cron
  • 为什么不能使用cron?

标签: python loops python-2.7 time scheduler


【解决方案1】:

Windows 有任务计划程序。您可以安排一个在每天 01:30 运行的重复任务,该任务启动一个脚本,该脚本将任务注册为每三分钟运行一次。此外,在 23:50 安排一个任务,该任务将运行一个脚本来禁用每 3 分钟运行一次的任务,然后继续运行 DO.py。

【讨论】:

  • 我看过了,但是沿着这条路线走的问题是它不容易移植到不同的计算机上切换和玩它
  • @Hyflex:您可以编写一个脚本来注册和注销 01:30 和 23:50 任务。否则,您的另一个选择是使用第三方 cron(例如 cronw、cygwin、pycron 等)或做一些时间数学(datetime 模块使这变得容易)和必要时 sleep()。
  • 在尝试根据我的需要重新创建它之前,我已经有了自己的尝试:stackoverflow.com/questions/17559933/… 我仍然对 python 很陌生,但我正在尝试从 snippits 和帮助文档中学习youtube 视频,但它需要时间......不过我正在慢慢到达那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 2012-08-06
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
相关资源
最近更新 更多