Magento — выполняется скрипт задания cron, но письма с подтверждением заказа Magento не отправляются

Как Magento документация штаты, вам нужно настроить работу cron на вашем веб-сервере, чтобы получать такие вещи, как письма с подтверждением заказа для отправки, например:

* * * * * / bin / sh /absolute/path/to/magento/cron.sh

Это очень простая работа cron. Проблема в том, что автоматизированные задачи не завершаются в Magento. Это как если бы скрипт не запускался заданием cron. В результате письма с подтверждением заказа не отправляются (среди всех других автоматических задач Magento).

Я установил Планировщик AOE расширение, чтобы перепроверить каждую автоматизированную задачу в Magento и посмотреть, когда задачи завершаются (или, в этом случае, когда они не выполняются). Ни одна из задач, включая core_email_queue_send_all завершаются с интервалом в 1 минуту.

Теперь вот странная часть. Если я просто пойду запустить cron.php сценарий (cron.sh триггеры cron.phpзагрузив его в мой веб-браузер по адресу mydomain.com/cron.phpАвтоматизированные задачи Magento все выполняют! И так как скрипт работает так, когда я запускаю его вручную, и я знаю, что задания cron работают … Я не могу понять это!

Пожалуйста помоги!

ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ

Вот как я знаю, что задания cron работают — я протестировал задания cron на своем сервере, создав сценарий PHP, который отправляет основное электронное письмо с mail()и запускал задание cron, аналогичное приведенному выше, чтобы выполнять его каждую минуту — задание cron работает нормально. Я тоже получаю MAILTO электронные письма с сервера каждый раз, когда запускается задание cron. Нет ошибок, которые я вижу.

Я также могу выполнить эту точную команду в задании cron …

/ bin / sh /absolute/path/to/magento/cron.sh

…в терминале, когда я в SSH, и он успешно запускает сценарий и Magento выполняет все автоматизированные задачи. Это просто не работает каждую минуту в работе cron!

Это совершенно странно, и я не могу понять его …. В конце концов, все это работа, которую я сделал на этом магазине Magento является спорным, если клиент не может проверить и получить подтверждение электронной почты.

Любой совет будет чрезвычайно признателен.

ОБНОВИТЬ

Я смог обойтись с помощью wget команда позвонить cron.php, но это все еще не похоже на постоянное решение.

wget -O /dev/null -q http://domain.com/cron.php

Хотя сейчас технически это работает, в документации Magento рекомендуется запускать cron.shне cron.php, Тем не менее, хотелось бы получить конкретный ответ на вопрос, почему не работает cron cron.sh с sh,

1

Решение

Некоторые шаги, которые я бы попробовал:

В терминале:

Проверьте свой журнал cron:

tail -f /var/log/cron

Вы видите команды запуска?

Проверьте наличие cronjobs:

crontab -l

Проверьте, есть ли у пользователя cron права на выполнение файла, если нет:

chmod +x file.sh

Cron работает? проверьте, запущен ли процесс:

pgrep crond
1

Другие решения

В случае ошибок вы получите электронное письмо с записью ошибки,
но это требует настройки в первую очередь. Вы можете увидеть решение здесь
https://www.phase2technology.com/blog/how-to-enable-local-smtp-server-postfix-on-os-x-leopard/

В этом случае это решение здесь помогло мне http://support.xtento.com/wiki/Setting_up_the_Magento_cronjob

Моя среда — OSX El Capitain с включенным локальным почтовым постфиксом для отправки электронных сообщений о состоянии cron на учетную запись gmail, которую я настроил для тестирования заказов в моем магазине Magento, MAMP для локального тестирования Magento и установленное и настроенное расширение AOE Scheduler Magento.

Код, который работал для меня:

MAILTO="[email protected]"
curl -s -o /dev/null http://www.YOURDOMAIN.com/PATH_TO_MAGENTO/cron.php /dev/null

Я надеюсь, что это кому-то поможет, так как я потерял почти 2 дня, получая правильные настройки. Удачи!

1

По вопросам рекламы [email protected]