重CRON任务

时间:2011-08-18 15:18:24

标签: php ajax cron

我必须每周在PHP上执行一项相当繁重的任务(脚本卷曲到各个位置(网站,API),收集,排序数据并将其插入到数据库中)。整个脚本需要大约10到15分钟才能在我的mac(localhost)上运行 - 猜测它会在服务器上运行得更快。尽管如此 - 我正在使用AJAX进行循环,所以当每个任务完成后,下一个任务就会启动。现在我需要每周自动运行它。所以我想我不能再用AJAX了。

我是否必须将php.ini设置为让脚本运行30分钟或者有更好的方法来执行此操作?

2 个答案:

答案 0 :(得分:1)

php.ini与调度作业无关。它只是定义PHP启动设置。正如你的标题所说,你想要的是一份cron工作。

对于OSX cron设置,请参阅http://hintsforums.macworld.com/showthread.php?s=&threadid=39005

答案 1 :(得分:1)

PHP脚本的maximum execution time由未生成输出的时间量决定。因此,将数据写入STDOUT(例如,写入日志文件)将使脚本保持运行。

但是,如果你从命令行运行脚本,那么最大执行时间默认为零,正如已经建议的那样,我用cronjob而不是AJAX-Request或者类似的方式启动脚本方法。实际上,对于执行管理任务的大多数php脚本,我都这样做,例如跨多个数据库或类似目的同步数据。