我们在120秒睡眠的无限循环中对预定作业进行编码。计划的任务是在网站上ping以获取一小部分数据。使用cron作业比使用我们的解决方案有什么优点/缺点?
答案 0 :(得分:3)
构建一个轮询远程站点的程序可以提供这些问题/好处,
Cron是为定期调度而构建的,这里有一些问题/好处,
答案 1 :(得分:2)
cron
工作的优点:
crontab
来更改时间或关闭它。无限循环的优点:
我认为在这种特定情况下,CPU实时和内存的优缺点可能很小。但是,由于可以控制执行时间和管理的简便性,我更喜欢cron
任务无限期运行的任何工作。
答案 2 :(得分:0)
除了上面的答案外,还有其他一些警告。您很幸运,因为您的计划是120秒,因此您实际上可以在任何已知的cron表达式解析器中指定它(间隔为2分钟)。
如果说125,您将无法在任何方言中指定它。
假设您希望间隔45秒。在某些cron表达式的方言(例如Quartz)中,您可以指定秒。需要注意的是,仍然无法指定45秒间隔。
考虑cron表达式0/13 0/7 * * *(https://crontab.guru/#0/13_0/7_ _ _ *)。
Crontab Guru提供了以下表达式的解释:“从0到59的每13分钟,从0到23的每7小时一次。”
如果您咨询https://www.freeformatter.com/cron-expression-generator-quartz.html(基于Quartz)并考虑表达式“ 0/45 * * / 7?* *”,则给出的表达式说明为“每隔25秒从00秒开始,从每天的凌晨00点开始,每分钟每7小时”。
计算的执行顺序为(从现在开始):
2019年3月6日星期三14:00:00 2019年3月6日星期三14:00:45 2019年3月6日星期三14:01:00 2019年3月6日星期三14:01:45 UTC 2019年3月6日星期三14:02:00 2019年3月6日星期三14:02:45 2019年3月6日星期三14:03:00 2019年3月6日星期三14:03:45 UTC
这意味着每次您溢出一个较大的/时间较长的容器/时,都会出现心律不齐。请注意;-)
PS另外值得注意的是,表达式上的7是多余的。我们每分钟重新开始一次节奏,这也意味着每隔一个小时。 CRON表达式很有趣:-)