在特定时间运行 Python

我正在开发一个 Python 程序。它需要每 15 分钟运行一次。它目前在再次运行之前等待 870 秒(14.5 分钟),但随着完成操作所需的时间不同,有时它会在距离上次运行 15 分钟之前运行,有时在 15 分钟之后运行。


我这部分的代码目前如下所示:


print(colour.BOLD, colour.PURPLE, "Finished", colour.END)

    print(colour.BOLD, colour.BLUE, 'WAITING 15 MINUTES (900 SECONDS)', colour.END)

    time.sleep(870)

有没有办法让它在xx:15、xx:30、xx:45、xx:00运行,其中 xx 是从 00 到 23 的每小时?


对不起,如果我在这里感到困惑。感谢您提前提供任何帮助。


三国纷争
浏览 228回答 3
3回答

智慧大石

使用您的操作系统工具来获得类似的结果。它们非常可靠,如果您的脚本失败,下次它仍然会运行。Linux使用 crontab。如何设置它会根据您的发行版而略有变化。作为一个总体思路:sudo crontab -e在crontab里面写(一定要自定义python可执行文件和脚本路径):*/15 * * * * /usr/bin/python /path/to/your/script.py这将确保您的脚本每 15 分钟执行一次。Windows如何在 Windows 上安排任务更多地取决于您使用的 Windows 版本,这是一项非常直观的任务。谷歌搜索“如何在 Windows 中安排任务”将返回比我在这里笨拙地解释的更好/更具体/更新的结果。这是我为你找到的一个不错的。Mac在 StackOverflow 上 阅读Meki的惊人答案。

阿波罗的战车

我会使用该schedule模块:https ://pypi.org/project/schedule/你会跑:schedule.every().minute.at(":00").do(job)schedule.every().minute.at(":15").do(job)schedule.every().minute.at(":30").do(job)schedule.every().minute.at(":45").do(job)

紫衣仙女

有一个脚本在不连续的时间间隔做一件事,像这样控制自己的命运,这让我感到很奇怪。我将使用外部调度框架以离散的时间间隔运行此作业。在 Linux 中,这可以通过 cronjobs 来完成;在 Windows 中,可以使用任务计划程序来完成。Linux:在终端中,键入crontab -e编辑当前用户上下文的 cron 计划。可以在整个互联网上找到有关编辑 cron 的文档 - 这是一个:https ://www.raspberrypi.org/documentation/linux/usage/cron.mdWindows:您可以在 Windows 任务计划程序中安排 Python 脚本按该计划运行。这是一个链接:https ://www.esri.com/arcgis-blog/products/product/analytics/scheduling-a-python-script-or-model-to-run-at-a-prescribed-time /如果您使用此方法来控制适当的行为,请务必使用“如果任务已在运行”和“在错过预定开始后尽快运行任务”选项:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python