求推荐 python 的任务管理的方法

2016-12-07 17:05:24 +08:00
 seizetheday
比如,有 3 个 py 文件: a.py, b.py, c.py

希望:
1. 17 : 00 执行 a.py
2. 每隔 5 分钟执行 b.py
3. 每隔 1 天执行 c.py

通过什么包来管理这些任务比较好?

环境: python 2.7, linux/windows
4729 次点击
所在节点    Python
24 条回复
DozySun
2016-12-07 17:06:06 +08:00
apscheduler
tonghuashuai
2016-12-07 17:08:16 +08:00
这样的情况一般用 crontab 最简单把,其他的包什么的估计还得写代码去调度。
sinux
2016-12-07 17:08:27 +08:00
native cron
SlipStupig
2016-12-07 17:26:01 +08:00
@tonghuashuai 我也是用 crontab ,但是不知道为什么任务根本没执行
sevncz
2016-12-07 17:28:06 +08:00
crontab +1
sunwei0325
2016-12-07 17:28:07 +08:00
airflow
tonghuashuai
2016-12-07 17:31:28 +08:00
@SlipStupig print 下 log 看看
smartdie
2016-12-07 17:41:20 +08:00
一般用 crontab ,
如果你的项目里用 celery 了,可以考虑 celery beat
glasslion
2016-12-07 17:42:56 +08:00
这种简单 情况, crontab 最合适,
windfarer
2016-12-07 17:50:13 +08:00
crontab 用用就行了
cdwyd
2016-12-07 17:53:50 +08:00
@SlipStupig
我也遇到了手动运行正常 crontab 不执行的问题,后面发现是路径问题,加一个 os.chdir 到工作目录就可以了
qweweretrt515
2016-12-07 19:50:13 +08:00
celery
brucedone
2016-12-07 20:01:26 +08:00
clino
2016-12-07 20:03:57 +08:00
buildbot
lunaticus7
2016-12-07 20:59:29 +08:00
celery
FiveDDD
2016-12-07 21:33:44 +08:00
不想添加依赖,就 crontab ;另外项目的话,可以试试 celery , apscheduler 。
Contextualist
2016-12-07 21:39:53 +08:00
个人比较喜欢 https://github.com/dbader/schedule ,适合简单的任务,比 apscheduler 更轻
SlipStupig
2016-12-07 21:48:29 +08:00
@cdwyd 手动我也不执行
这个是我的配置文件

30 23 * * * /home/ubuntu/drogen/starup.sh > /dev/null 2>&1
10 1 * * 6,0 python ~/jdspier/spidermain.py > /dev/null 2>&1
*/1 * * * * /bin/bash /home/cron.sh > /dev/null 2>&1Ø
clino
2016-12-07 21:59:51 +08:00
buildbot 这种自动构建软件有个好处是能在 web 上看所有 stdio 输出
Lycnir
2016-12-07 22:42:00 +08:00
crontab 尽量用全路径

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/325970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX