crontab 里面大大小小的脚本过多怎么办

2014-10-22 00:44:41 +08:00
 johnsneakers
1.每天凌晨3点-4点, 会依次跑各种比较耗资源的脚本,平均每个脚本3-5分钟。

2.每分钟,都会执行一些低消耗脚本,平均1-4秒。

目前已实现用PHP管理所有需要跑的脚本(crontab里面只用写我这个crontab管理器:
* * * * * 我的脚本管理.php)

现在问题是,如果脚本都在一个时刻执行,负载就上去了。

我书读得少,所以我打算这样做:
开两条线程,一条做队列来跑那些消耗大的脚本,另外一条就跑那些正常没有大消耗的脚本。
(这个想法只是我异想天开想出来的,我是渣渣,有大神帮我指点下吗)
2527 次点击
所在节点    问与答
4 条回复
yangqi
2014-10-22 00:47:39 +08:00
不太明白你是想解决什么问题。。。
johnsneakers
2014-10-22 00:50:42 +08:00
@yangqi 哎,我就知道我这个描述得肯定大多数人是看不明白的,其实就是想解决同一时刻crontab里面脚本执行太多影响机器性能问题
incompatible
2014-10-22 00:54:26 +08:00
你的目标很简单,就是让占用资源高的脚本串行执行

使用单个线程来处理队列是个可行的办法。
我会选择把这些脚本依次写在一个sh中,每日3点调用这个sh就行了
lecher
2014-10-22 01:17:40 +08:00
要看执行的是哪类占用资源的
磁盘io?内存?cpu?
肯定是要串行执行的了,既然用php管理,那就用php监控状态,开个mysql存状态和执行队列,crontab定时用调用php检测状态,进程减少了或者负载下去的时候再执行下一个队列。
这样够保险了吧。

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

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

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

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

© 2021 V2EX