@
pheyx 呵呵,你写过几个定时任务在几台机器上跑过?常年10w+机器定时执行任务的路过,用crontab?
10w机器crontab,我就问你一句话,错误处理怎么搞,别告诉我说发邮件,你也不怕邮箱爆掉?
Cron分为单机Cron和分布式Cron,每个都是一门学问。就以单机Cron来说,Crontab最少有以下弱点
1. 无可靠的报警机制,只能靠发邮件,我想发短信怎么搞?我想连续失败3次再报警怎么搞?我想首次失败发邮件,连续10次失败发短信怎么搞?我想最大连续报警次数为1怎么搞(比如每分钟执行,假如半夜突然有个问题导致失败,难道连发N封?)我想白天发邮件,晚上发短信怎么搞?我想晚上不发报警怎么搞?
2. 缺乏超时控制。我想控制cron为单实例怎么搞?(默认的cron是到点启动一个,不管前一个是否执行完成,如果卡住了,呵呵),我想加个超时报警怎么搞,我想加个最大超时时间到时强制kill怎么搞?
3. 缺乏执行日志。我想知道过去X天的执行情况,怎么看?我想看某次任务的执行日志,怎么看?
4. 需要第三方工具来实现自动化。这个就不提了。
至于分布式cron,学问就更深了,别一知半解就开始瞎喷