8

cron 的最大执行时间是多少?如果有任何副作用,是否可以对其进行修改。

4

4 回答 4

10

上面接受的答案是不正确的。Drupal 中 Cron 的时间限制被硬编码为 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

于 2012-02-09T23:19:10.370 回答
3

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

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

如果您使用php -f cron.phpcron 命令,则使用 php-cli 的 php.ini 来确定最大执行时间。

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

于 2010-11-13T15:42:36.203 回答
2

我不知道这是否一定是这种情况,因为我刚刚cron.php通过我的浏览器运行,我得到了max excution time error240 秒,而我的 php.ini 中的最大执行时间是 1200 秒。所以除了我的 php.ini 文件 Drupal 正在获取最大执行时间。

某处将在./includes/common.incor./includes/locale.inc中。进入那里,有一些设置可以调整drupal允许cron在放弃之前运行多长时间

于 2011-07-12T06:06:11.777 回答
0

本模块可以帮助您:设置 Cron 时间

于 2013-08-21T14:49:40.453 回答