3

我尝试使用 crontab 运行我的 python 脚本。随着我的 python 脚本数量的积累,很难在 crontab 中进行管理。

然后我尝试了两个名为Advanced Python Schedulerschedule的 python 调度任务库。

这两个库在使用上是完全一样的,例如:

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

该库使用该time模块等到执行任务的确切时刻。

但是脚本必须一直运行并且消耗数十兆字节的内存。所以我想问这是使用库处理计划作业的更好方法吗?谢谢。

4

2 回答 2

1

在 2013 年 - 当这个问题被提出时 - 市场上免费提供的工作流/调度程序管理工具不像今天那么多。

所以,在 2021 年写下这个答案,我建议使用 Crontab,只要你在很少的机器上只有很少的脚本。

随着越来越多的脚本集合,需要更好的监控/日志记录或流水线,您应该考虑使用专用工具(如AirflowN8NLuigi ...)

于 2021-12-28T08:32:33.133 回答
0

One way is to use management commands and setup a crontab to run those. We use that in production and it works really well.

Another is to use something like celery to schedule tasks.

于 2013-07-29T09:06:23.223 回答