dr的最大执行时间为cron

时间:2010-11-13 13:24:37

标签: drupal cron execution-time

什么是cron的最长执行时间。是否可以修改它,如果有任何副作用。

4 个答案:

答案 0 :(得分:9)

上面接受的答案是不正确的。 Cron在Drupal的时间限制是硬编码到240秒。请参阅drupal_cron_run中的includes/common.inc功能,具体如下:

drupal_set_time_limit(240);

if (!lock_acquire('cron', 240.0)) {

(基于Drupal 7.12的来源)

因此,如果不破解核心,就无法在全球范围内进行更改。我听说它建议在drupal_set_time_limit实现中调用hook_cron,因为这样做会重置PHP的计数器。但是,当它是实施hook_cron的第三方模块时,这对您无济于事。

答案 1 :(得分:3)

Drupal的cron的最长执行时间取决于您的php.ini

例如,如果使用wget -O - -q -t 1 http://www.example.com/cron.php作为cron命令,则使用apache的php.ini来确定最长执行时间。

如果你使用php -f cron.php作为你的cron命令,那么php-cli的php.ini用于确定最长的执行时间。

建议使用php-cli以获得更长的执行时间,您可以在/etc/php5/cli/php.ini设置最长执行时间(如果使用debian linux),并且在cron运行时对apache没有副作用。

答案 2 :(得分:2)

我不知道是否一定是这种情况,因为我只是通过浏览器运行cron.php而我的max excution time error时间为./includes/common.inc而我的最长执行时间为php.ini是1200秒。所以除了我的php.ini文件以外,Drupal正在抓取最大执行时间。

某个地方会出现在./includes/locale.inc或{{1}}中。进入那里并有一些设置来调整drupal允许cron在放弃之前运行的时间

答案 3 :(得分:0)

此模块可以帮助您:Set Cron Time