drupal cron的最大执行时间
cron 的最大执行时间是多少?是否可以修改它,如果有任何副作用。
Whats the maximum execution time of cron. is it possible to modify it if so any side effects.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
上面接受的答案是不正确的。 Drupal 中 Cron 的时间限制被硬编码为 240 秒。请参阅
includes/common.inc
中的drupal_cron_run
函数,特别是以下几行:和
(基于 Drupal 7.12 的源代码)
因此,如果不这样做,就无法全局更改此设置黑客核心。我听说有人建议您在
hook_cron
实现中自己调用drupal_set_time_limit
,因为这样做会重置 PHP 的计数器。但是,当它是实现hook_cron
的第三方模块时,这对您没有帮助。The accepted answer above is INCORRECT. Cron's time limit in Drupal is hardcoded to 240 seconds. See the
drupal_cron_run
function inincludes/common.inc
, specifically these lines:and
(based on the source of Drupal 7.12)
So, there is no way to change this globally without hacking core. I have heard it suggested to call
drupal_set_time_limit
yourself inside of yourhook_cron
implementation, as doing so resets PHP's counter. However that won't help you when it's a third-party module implementinghook_cron
.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 的影响。Maximum execution time for Drupal's cron depends on your
php.ini
.For example if you use
wget -O - -q -t 1 http://www.example.com/cron.php
as your cron command, apache's php.ini is used to determine the maximum execution time.If you use
php -f cron.php
as your cron command, then php-cli's php.ini is used to determine the maximum execution time.It is recommended to use php-cli for higher execution time, where you can set the maximum execution time from
/etc/php5/cli/php.ini
(if you use debian linux) and have no side effects on apache while cron runs.我不知道情况是否一定如此,因为我刚刚通过浏览器运行了 cron.php,并且收到了 240 的
最大执行时间错误
秒,而我的 php.ini 中的最大执行时间是 1200 秒。因此,除了我的 php.ini 文件之外,Drupal 正在获取最大执行时间。该位置位于
./includes/common.inc
或./includes/locale.inc
中。进入那里,有一些设置可以调整 drupal 在放弃之前允许 cron 运行多长时间I don't know if this is necessarily the case as I've just run the
cron.php
through my browser and I'm getting amax excution time error
of 240 seconds while my max execution time in my php.ini is 1200 seconds. So somewhere besides my php.ini file Drupal is grabbing the max execution time.That somewhere would be in the
./includes/common.inc
or./includes/locale.inc
. Head into there and there are settings to adjust how long drupal will allow the cron to run for before giving up此模块可以帮助您:设置 Cron 时间
This module can help you: Set Cron Time