技术解析

如果实现每隔 5 分钟,且仅在白天运行的定时器?
0
2021-06-16 16:00:14
idczone

用 linux 的 crontab,每隔 5 分钟运行一次实现容易,再加个限定时段就该如何实现?


https://crontab.guru/

*/5 6-18 * * *

搞个 shell 脚本定时杀掉然后再启动再结合 crontab 用~

白天一年四季在变的吧. 还得联网查询?

顶 2 楼,或者在每 5 分钟执行一次,然后在执行脚本内判断是不是白天

啥是白天,具体讲讲

*/5 9-21 * * * command
这种?

crontab 支持时间段的, 以前用 python 库 plan 处理过批量调度的事情. 虽然现在已经是 systemd 的时代了
问个题外话: 现在是不是特别流行用"如果"代替"如何"

如果实现了, 就能怎么样呢?

打错字了。。

起飞。。减少目标网站负载



感谢

我就随口一问, 因为见过超过十次了... 在想是不是新的流行说法
反正定时任务尽量还是别用原生 crontab 了, 找个靠谱点的调度后台算了, 最近也在调研处理定时任务流的, 在 azkaban 和 airflow 里面转悠

回复白天时间不一样的那些人,咋不回复极昼极夜啊???

应该加入 geoip 库,根据 IP 判断服务器所在城市和经纬度,再通过日期和经纬度计算出日出日落时间,以此判断是不是在白天(手动狗头

为什么尽量不用原生

分 时 日 月 周

话说你对白天的时间定义是什么样子的,

这个需求不明确呀

最好写程序里吧,程序里定时跑,我的程序是半小时,定义范围也是很容易的

所以 9 点-21 点是白天?

原生用 systemd 还好, cron 一开始用的舒服, 后来被同事东一块西一块还没注释的 cron 给玩死了... 虽然我上份工作用 supervisord + plan(Python 库, 定制 crontab 任务的) 做的通用脚本调度也能玩死不少交接的...
一两个任务, 服务器少的时候, crontab 用着还好, 但是考虑极限情况: 多账户, 多机器, 几百个任务... 这不叫运维了, 这叫防离职黑魔法

Linux 有原生 API 来看日夜的吧。。。9-21 也太怪了

为啥尽量不用 crontab 啊

哈哈,会允许你随便乱跑 crontab 的公司。。。真的是有无数合法的保障自己被裁后,让接手的人从零开始重新构架整个服务器的方法。。。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服