Какое максимальное время выполнения cron. можно ли его модифицировать, если есть какие-либо побочные эффекты.drupal максимальное время выполнения cron
ответ
Принятый ответ выше НЕПРАВИЛЬНО. Ограничение времени 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
.
Максимальное время выполнения для cron Drupal зависит от вашего php.ini
.
Например, если вы используете команду wget -O - -q -t 1 http://www.example.com/cron.php
в качестве своей команды cron, то app's php.ini используется для определения максимального времени выполнения.
Если вы используете команду php -f cron.php
в качестве своей команды cron, то php.ini php-cli используется для определения максимального времени выполнения.
Рекомендуется использовать php-cli для более высокого времени выполнения, где вы можете установить максимальное время выполнения с /etc/php5/cli/php.ini
(если вы используете debian linux) и не имеете побочных эффектов на apache во время работы cron.
+1, но слово предупреждения при вызове хрон через кли: Убедитесь, что ни один из ваших модулей 'hook_cron()' реализация зависит от использования переменных, предоставляемых веб-сервер , поскольку они, очевидно, не будут доступны в этом контексте (потратили некоторое время на то, чтобы найти, что модуль использовал '$ _SERVER ['DOCUMENT_ROOT']' на вызовах cron. –
Я не знаю, действительно ли это так, поскольку я только что запустил cron.php
через мой браузер, и я получаю max excution time error
из 240 секунд, пока мое максимальное время выполнения в моем php.ini составляет 1200 секунд. Поэтому где-то помимо файла php.ini Drupal захватывает максимальное время выполнения.
Это где-то было в ./includes/common.inc
или ./includes/locale.inc
. Направляйтесь туда, и есть настройки, чтобы настроить, как долго drupal позволит cron работать до того, как сдаваться
Этот модуль может помочь вам: Set Cron Time
- 1. wp-cron vs server cron (максимальное время выполнения)
- 2. Максимальное время выполнения PHP
- 3. ежедневный запуск cron завершен, поскольку он превысил максимальное время выполнения
- 4. Вычислить время выполнения cron
- 5. PHP «Максимальное время выполнения»
- 6. Максимальное время выполнения PHP?
- 7. Максимальное время выполнения php.ini
- 8. curl_exec максимальное время выполнения
- 9. Установить максимальное время выполнения
- 10. php предотвращает максимальное время выполнения для почты
- 11. Unix cron время выполнения задания
- 12. Максимальное время выполнения в PhpMyAdmin
- 13. Прерывание ошибки «Максимальное время выполнения»
- 14. Максимальное время выполнения в phpMyadmin?
- 15. PHP максимальное время выполнения неправильно
- 16. session_start() максимальное время выполнения XAMPP
- 17. Максимальное время выполнения try catch
- 18. OpenTBS, превышающее максимальное время выполнения
- 19. Максимальное время выполнения превышено (PHP)
- 20. PHP Loop Максимальное время выполнения
- 21. Максимальное время выполнения для JavaScript
- 22. Максимальное время выполнения для PHP
- 23. Максимальное время выполнения обработки ошибок
- 24. Сценарий, превышающий максимальное время выполнения
- 25. Catch максимальное время выполнения php
- 26. Модуль диспетчера Drupal cron
- 27. Способ пропустить максимальное время выполнения скрипта в PHP
- 28. Прочитайте максимальное пространство кучи во время выполнения
- 29. PHP Максимальное время выполнения 30 секунд
- 30. Как увеличить максимальное время выполнения PHP
В основном обновление статуса и модуль поиска вызывают сбой cron. – Serjas