cron работает неправильно.Таблица Cron_schedule содержит только одну строку (enterprise_refresh_index)

magento.stackexchange https://magento.stackexchange.com//questions/78984

Вопрос

У меня возникла странная проблема с cron в версии Magento.1.13.0.2.Таблица cron_schedule содержит только одну строку:

  1 | enterprise_refresh_index | success | NULL     | 2015-08-13 22:37:00 | 2015-08-13 22:37:00 | 2015-08-17 19:29:01 | 2015-08-17 19:29:01

Но мне не хватает всех остальных crontab из ядра Magento и пользовательских расширений.Я настраиваю crontab и также пытаюсь запустить cron.php вручную.Если я запущу его вручную, время «executed_at» и «finished_at» будет обновлено.

Если я загляну в таблицу core_config_data и найду «cron», я увижу только два набора данных, связанных с cron:

mysql> select * from core_config_data where value like "%cron%";
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
| config_id | scope   | scope_id | path                                           | value                                          |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
|       131 | default |        0 | catalog/productalert_cron/error_email_template | catalog_productalert_cron_error_email_template |
|       937 | default |        0 | crontab/jobs/log_clean/run/model               | log/cron::logClean                             |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
2 rows in set (0.00 sec)

mysql> 

Модуль code/core/Mage/Cron включен.Дальнейшее ведение журнала включено, но я не вижу никаких проблем, связанных с cron. system.log ни в exception.log.Также логи сервера пусты.

Есть ли у кого-нибудь идеи, что может вызвать проблему или как ее отладить?Спасибо!

Это было полезно?

Решение

Если под «запуском вручную» вы имеете в виду, что вы зашли на cron.php в своем браузере и в таблице все еще ничего нет, то сценарий, вероятно, завершается очень рано.Попробуйте открыть cron.php и принудительно $isShellDisabled переменная в true.(У меня нет открытого кода.)

Другие советы

Вероятно, ваш cron на самом деле не настроен на сервере.Вам нужно создать cronjob из SSH или панели управления для вызова cron.sh в корне вашего сайта (обычно с 5-минутными интервалами).Это то, что фактически запускает задачи на постоянной основе.Если ничего не звонит cron.sh или cron.php на постоянной основе, то фактически ничего не произойдет (как вы заметили).

Объяснение создания cronjob из SSH см. в ответе Уильяма Вигмана здесь: https://magento.stackexchange.com/a/32580/1905

Если для ее создания вы используете панель управления хостингом вместо SSH, процесс полностью зависит от того, как работает ваша конкретная панель управления.В общем, вы хотите, чтобы он запускался с 5-минутным интервалом (*/5 * * * *), и вы хотите, чтобы он выполнялся sh {your_path_to_magento}/cron.sh.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top