Настройки Magento Advanced / System / Cron *

9

конспект

Итак, я хотел подтвердить свое понимание конфигурации cron с Magento; под консолью администратора System > Configuration > Advanced > System > Cron:

Генерация расписаний каждый #

Я не уверен относительно того, о чем этот параметр.

Расписание впереди для #

Я предполагаю, что это будет на # минут опережать крон. Если планировщик cron настроен на вкладке cron для запуска каждые 5 минут, должен ли этот номер также быть установлен на 5 или Magento не перепланирует уже запланированные задания?

Пропущено, если не выполняется внутри #

Мне кажется, что я хочу сказать, что когда cron запланирован к запуску и не выполняется в течение # минут, он считается пропущенным.

История Очистки Каждый #

Я предполагаю, что это должно пройти через cron_Scheduleтаблицу и очистить все пропущенные и выполненные расписания через # минут после того, как они были выполнены / пропущены?

История успеха

Что касается предыдущей конфигурации, я предполагаю, что это удалит все успешные расписания через # минут?

История отказов

Я предполагаю, что это очистит все пропущенные графики через # минут? и тогда history cleanup every #, success history and failure historyнастройки все совершенно неоднозначны.

ясень
источник

Ответы:

7

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

Как только вы это поймете, настройки станут более понятными. Если вы хотите увидеть, что именно они делают, их использование довольно ясно app/code/core/Mage/Cron/Model/Observer.php: наблюдатель запускается для defaultсобытия в crontabобласти и, в свою очередь, отправляет все запланированные задания.

  • Создать расписания Каждое : интервал в минуты, когда Magento будет планировать будущие задания. Он не планирует автоматически задания при каждом выполнении.
  • Расписание вперед : минуты в будущем, когда задания могут быть запланированы (добавлены в cron_scheduleочередь базы данных).
  • Пропущено, если не выполнено в течение : минут после запланированного времени, когда задания еще могут быть выполнены, прежде чем их статус будет установлен как missed, что вступает в действие, если очереди требуется много времени, чтобы пройти через все задания, выбранные для выполнения во время текущее исполнение Mage_Cron_Model_Observer::dispatch()(их запланированное время сейчас или раньше).
  • Очистка истории Каждое : интервал минут, в течение которого Magento будет выполнять очистку cron_scheduleочереди базы данных, ссылаясь на настройки ниже, касающиеся сохранения.
  • История успеха Lifetime & Failure История Время жизни : минут в будущем , чтобы оставить записи в очереди после того, как они достигли эти статусы. Это вступает в игру, если вы хотите увидеть результат прошлых заданий, поскольку они могли поместить итоговый результат в него cron_schedule.messages, что может быть особенно полезно в случае errorстатуса.
fantasticrice
источник
почему, если изменить значение forward_for_scehdule с 1 на 10, расписание больше не будет добавлено в crontab?
LucScu
По умолчанию:schedule_generate_every 15 schedule_ahead_for 20 schedule_lifetime 15 history_cleanup_every 10 history_success_lifetime 60 history_failure_lifetime 600
Коллин Андерсон