如何在每天的同一时间使用调度器运行python脚本?

2024-05-23 22:40:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个很普遍的问题, 我想知道的是: 当安排一个python脚本时(例如每天下午1:00),我想知道是否必须让脚本(或像spyder这样的编辑器)始终“打开”。这意味着,我必须让python一直运行吗?我避免使用调度程序库,因为人们说python脚本不会被杀死、挂起并等待下一个任务。 到目前为止,我所做的只是每天使用Windows调度程序自动运行我的脚本(爬虫程序)(人们说这叫做'批处理'…)。但现在我必须在服务器端完成这些工作,而不是在本地完成。在

因此,如何使用python调度程序库运行python脚本,使之与Windows调度程序完全相同?在


Tags: 程序脚本windows服务器端编辑器调度爬虫程序库
2条回答

我建议系统定时器。许多人使用cron和crontab,但它要求系统每天24小时运行,而且不容易“调试”。在

我最喜欢systemd的一点是:

  • 所有systemd定时器事件都被小心地记录在systemd日志中。就像在cron作业的情况下,很难检查你的cron作业在做什么,它可能会变得一团糟。在
  • systemd定时器是systemd服务,具有资源管理、iocpu调度的所有功能。在
  • 使用它可以很容易地启用/禁用/终止作业/等等,只需执行以下操作:

    systemctl enable/disable/start/stop

  • 另一件事我喜欢如果你在不同的时区,你安排系统的日历和单调的时间。以及更多有用的调试功能。

还有更多更好的选择:

Jobber是一个比cron更强大的工具。它的特点是具有状态的作业执行历史记录,控制作业失败后是否和何时再次运行,并在每次运行失败时收到通知,或者只收到由于重复失败而禁用的作业的通知。在

Hcron是一个很好的例子,它有一些很好的注意事项,比如,将事件分别存储在各自的文件中,而不是全部存储在一个文件中,这里还有更多:https://expl.info/display/HCRON/Home,文档在这里https://expl.info/display/HCRON/hcron+Guide

希望你会发现这个有用。在

您可以在linux中使用cron。我还使用cron在共享主机服务器上运行python脚本。如果需要在服务器上安装python模块,可能还需要使用virtualenv创建一个虚拟环境。根据我的经验,如果您的脚本有干净的出口,那么您的python脚本将被正确地终止或终止,所以您不必担心python脚本不会被杀死并消耗您的服务器资源:D

相关问题 更多 >