【问题标题】:Schedule time and date to run script安排运行脚本的时间和日期
【发布时间】:2015-09-20 06:58:21
【问题描述】:

我正在尝试找到一个可以在 Python 中执行以下操作的包:

  • 添加/删除指定的日期和时间
  • 将其添加/删除到调度程序

我看过的:

【问题讨论】:

  • 您是否有理由要使用 Python 调度程序而不是本机提供的东西? crontab 不支持特定日期,因此您需要使用其他实用程序或脚本来配合它,但在 Windows 上,任务计划程序可让您安排脚本在特定日期和时间运行以及设置重复周期跨度>
  • 主机将是一个 linux 机器,它将尝试在指定的日期和时间运行脚本,因此 windows 将不是一个选项。我正在尝试使用 python 模块,但我也非常愿意接受实现上述目标的建议。

标签: python date time scheduled-tasks


【解决方案1】:

您可以使用 sched 来做到这一点。

sched.add_job(job_func, trigger='interval', hours=3, start_date='2015-10-10 09:30', end_date='2015-11-10 09:30')

您可以通过arguments 触发。这会将其设置为从 2015 年 10 月 10 日 09:30 到 2015 年 10 月 10 日 09:30 每天运行 3 小时。 Interval trigger 设置日期。您还可以将小时与周、小时、天等互换。希望这会有所帮助!

这里有一些使用 apscheduler 的例子。

from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

@sched.scheduled_job('interval', seconds=60)
def timed_job():
    print('This job is run every minute.')

@sched.scheduled_job('cron', day_of_week='mon-fri', hour=17)
def scheduled_job():
    print('This job is run every weekday at 5pm.')

sched.start()

【讨论】:

  • 感谢分享这个 sn-p。我对python相当陌生。是否有可能展示如何使用它的工作示例?我仍在尝试了解如何阅读他们的文档。感谢您的帮助。
  • 如果你得到了 apscheduler 模块,你可以做更多的事情。这是一些使用它的小代码。我在其中编辑了一些代码。
  • 您可能应该提到apscheduler 不在stdlib 中,因此需要pip install apschedulersudo apt-get install python-apscheduler 之类的东西。
  • 谢谢 J.F!完全忘了提。
猜你喜欢
  • 2019-01-19
  • 2013-11-27
  • 2015-08-28
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
相关资源
最近更新 更多