Крон задачі в Magento є одним із багатьох інструментів, які Magento використовує для планування та виконання різних завдань замість того, щоб запускати їх вручну. Завдання cron виконують скрипт, який ви налаштовуєте для виконання певних дій у системі, а також дій у розширеннях Magento 2. 

Після того, як ви створили крон задачу в Magento, ви повинні налаштувати її параметри, щоб крон працював відповідно. Тут ви дізнаєтеся, як налаштувати крон в адмін панелі Magento 2 і як керувати ним за допомогою кількох корисних команд.

Щоб налаштувати крон в Magento 2:

1. Підіть у Stores > Configuration > Advanced > System > Cron (Scheduled Tasks).

Ви побачите всі крон задачі за замовчуванням у вкладці Cron (Scheduled Tasks) разом із крон задачами, які додаються з різних модулів Magento 2, які ви використовуєте. Параметри однакові для кожного крону, тому вам просто потрібно заповнити їх бажаним значенням.

Magento 2 Cron Scheduled Tasks

2. Налаштуйте параметри крону.

3. Визначте, як часто ви хочете, щоб крон генерував розклад виконання у полі Generate Schedules Every.

4. У полі Schedule Ahead for вкажіть час (у хвилинах), за який потрібно запланувати виконання крон задачі.

напр. якщо ви задасте тут 30, завдання cron будуть заплановані на наступні 30 хвилин після виконання крону.

5. Задайте час (у хвилинах), який призначає статус «Пропущено» для крон задачі, якщо вона не виконується після запланованого часу, у полі Missed if not Run Within.

6. У полі History Cleanup Every ви вказуєте час (у хвилинах), після якого історію завершених завдань має бути очищено.

7. Задайте Success History Lifetime, який визначає час (у хвилинах), протягом якого крон задачі зі статусом "Успішно" надсилатимуться до бази даних.

8. Вкажіть, скільки часу крон задачі зі статусом "Помилка" надсилатись в базу даних у полі Failure History Lifetime.

9. Виберіть, чи хочете ви виконувати всі крон задачі із групи окремо в полі Use Separate Process.

Configure Cron Job in Magento 2

Не забудьте зберегти налаштування і повторити це для інших крон задач, якщо потрібно.

Корисні команди для роботи з крон завданнями в Magento

Хоча крони у Magento запускаються за розкладом, на який ви їх налаштовуєте, іноді вам може знадобитися виконувати їх на вимогу, вручну.

Примітка: вам потрібно виконувати команди під користувачем, який є власником Magento.

Для цих випадків вам потрібно знати найбільш поширені команди для роботи з кронами Magento:

  • Щоб створити crontab:
bin/magento cron:install 
  • Щоб перевірити crontab:
crontab -l
  • Щоб видалити всі крони Magento цього користувача:
crontab -r 
  • Щоб виконати крон задачу:
bin/magento cron:run
  • Щоб виконати крон групу:
bin/magento cron:run --group [cron group name]

Наприклад:

bin/magento cron:run --group index

bin/magento cron:run --group default
  • Щоб видалити Magento crontab:
bin/magento cron:remove

Крон задачі Magento є надзвичайно важливими для повторюваних завдань у Magento, якщо ви не хочете регулярно вручну виконувати переіндексацію, оновлювати курси валют, надсилати листи та сповіщення користувачам.

Ось чому знання про налаштування та виконання крон задачі в Magento, стане в нагоді як розробникам, так і адмінам магазину. Сподіваємося, що ця стаття допоможе вам краще керувати крон задачами.