但这可能是一个普遍的问题, 我想知道的是: 在安排python脚本时(例如每天下午1:00),我想知道我们是否必须让脚本(或spyder之类的编辑器)始终“打开”。这意味着,我是否必须让python始终运行?我避免使用调度程序库,因为人们说python脚本没有被杀死,等待下一个任务。 到目前为止我一直在做的只是使用Windows Scheduler每天自动运行我的脚本(爬虫)(人们说这被称为'批处理过程'..)。但现在我必须在服务器端执行这些工作,而不是在我的本地工作。
因此,如何使用python调度程序库运行与Windows调度程序相同的python脚本?
答案 0 :(得分:2)
您可以在linux中使用cron
。我还使用cron在我的共享托管服务器上运行我的python脚本。如果您需要在服务器上安装python模块,则可能还需要使用virtualenv
创建虚拟环境。根据我的经验,如果你的脚本有干净的退出,你的python脚本将被杀死或正确终止,所以你不必担心python脚本没有被杀死并消耗你的服务器资源:D
答案 1 :(得分:0)
我会推荐 systemd计时器。许多人使用 cron 和 crontabs ,但它要求您的系统一天24小时运行,并且不容易“调试”。
我喜欢systemd的一个主要内容:
很容易使用它来启用/禁用/终止作业/等。只做:
systemctl enable/disable/start/stop
我喜欢的另一件事,如果你在不同的时区你安排系统日历和单调时间。还有许多有用的调试功能。
还有更多好的选择:
Jobber 是一个GO任务调度程序,也是一个比cron更强大的工具。它具有状态的作业执行历史记录,控制作业在失败后是否以及何时再次运行,并在每个作业无法运行时获得通知,或仅关于因重复失败而被禁用的作业。
Hcron 很好,并且有一些很好的注意事项,比如单独存储事件,每个事件都存放在自己的文件中,而不是全部存储在单个文件中,更多信息在这里:https://expl.info/display/HCRON/Home和文档是这里https://expl.info/display/HCRON/hcron+Guide
希望你会发现这有用。