Фоновый процесс останавливается через 5 минут — PHP и WordPress

#php #wordpress #apache #cron #devops

#php #wordpress #apache #cron #devops

Вопрос:

Я запускаю веб-сайт WordPress, на котором выполняется CRON для очень больших данных. Обычно CRON выполняется от 2 до 2:30 часов.

Но за последние 2 дня я столкнулся с проблемой, например, мой процесс CRON застревает через 5 минут, т.е. 300 секунд

Я попытался решить эту проблему, используя следующие решения:

  1. Добавлено set_time_limit(0); в wp-config.php досье.
 define( 'WP_MEMORY_LIMIT', '4096' );
set_time_limit(300);
define( 'WP_MAX_MEMORY_LIMIT', '4096' );
  
  1. Добавлено php_value max_execution_time 18000 в файл .htaccess.
 <IfModule php7_module>
  php_value max_execution_time 18000
  php_value max_input_time 6000
  php_value memory_limit 4096M
  php_flag display_errors Off
  php_value max_input_vars 1000
  php_value post_max_size 8M
  php_value session.gc_maxlifetime 1440
  php_value session.save_path "/var/cpanel/php/sessions/ea-php72"
  php_value upload_max_filesize 2M
  php_flag zlib.output_compression Off
</IfModule>
  
  1. В файле /etc/apache2/conf/httpd.conf увеличена Timeout переменная со значением 5000

  2. Увеличенное значение FcgidBusyTimeout с 5000

Ни одно из вышеперечисленных решений не сработало для меня.

Кто-нибудь может помочь найти, в чем проблема с этим cron или с другими шагами проверки?

Ответ №1:

Я также отправил это ребятам из службы поддержки сервера, и они нашли решение.

Любой, у кого есть такая же проблема, может попробовать изменить значения:

В моем случае имя файла: /etc/apache2/conf.d/lsapi.conf

  1. lsapi_poll_timeout 18000
  2. lsapi_backend_max_process_time 18000

После применения этих изменений вам необходимо перезапустить APACHE сервер для отражения изменений.

Применение этих изменений сработало для меня.