要创建一个每隔 2 小时运行一次的数据库清理任务,用 while 和 contrab 启动这样的任务,有什么差别吗?推荐用哪个方式比较好?
1
Outliver0 Nov 27, 2018
while 是 python 程序在执行任务,contrab 是托管到操作系统,推荐第二个,具体看实际
|
2
xia0pia0 Nov 27, 2018
推荐是第二个,一般来说系统不挂的话,crontab 的稳定性还是挺可靠的。
|
3
MilkShake Nov 27, 2018
推荐第二个
|
4
holajamc Nov 27, 2018 |
5
37Y37 Nov 27, 2018
|
6
virusdefender Nov 27, 2018
单个简单任务的话,crontab 足够了,复杂任务我用 apscheduler,如果每个任务都开单独进程的话,有些浪费
|
7
iConnect Nov 27, 2018
推荐 APScheduler 简单好用
|
8
rrfeng Nov 27, 2018
1. sleep 并不精确,时间差累积你懂的
2. 执行任务的时间,你 sleep 了吗?要开另一个线程吗? |
9
xpresslink Nov 28, 2018
从可靠性来说肯定 cronjob 要好,但是有系统依赖。
你自己写的进程要弄成守护进程才行不然总担心挂掉。 |
10
lolizeppelin Nov 28, 2018
看你内容...如果你循环内容需要复杂的上下文那就靠守护进程 sleep, 精准问题可以通过调用系统时间定期补偿
计划任务里的常见的数据库定期脚本注意通过 linux 文件锁来避免重复执行即可 |