我应该在PHP cron作业中使用Sleep

时间:2014-04-03 07:22:16

标签: php resources cron

我有一个PHP脚本作为cron作业,每5分钟运行一次,在脚本中,它会对数据库进行查询并循环记录:

$results = DB::query("SELECT id FROM category");

foreach ($results as $row) {

    // process the data, save data the a local file or database

    // should I have Sleep here?
}

我应该在循环结束时添加睡眠吗?因为我想知道我是否不在那里打个电话,服务器(也是一个网络服务器)在这个PHP运行时会被捆绑? (在PHP脚本运行时,服务器还需要处理其他请求)

1 个答案:

答案 0 :(得分:0)

而不是添加一个睡眠,正如评论中的@MarkBaker所提到的仍然保留内存和记录锁定,考虑将你的cron作业打包成更小的工作。

每个cronjob只需执行一次检查(删除旧会话,删除过期,不活动的用户等等。)

这将使服务器保持活力,同时仍然完成所有工作。