Документація

Обслуговування: один рядок cron

Що саме перестає працювати без планувальника і чому постійний обробник черги магазину не потрібен.

На цій сторінці

Магазину потрібен рівно один рядок у планувальнику хостингу. Усе інше він робить сам — постійно працюючих служб, supervisor та окремого обробника черги не потрібно.

* * * * * cd /шлях/до/магазину && php artisan schedule:run

Рядок із уже підставленим шляхом показує останній крок встановлювача. Додайте його в розділі «Cron» панелі хостингу — там це зазвичай «Додати завдання», періодичність «щохвилини».

Що перестає працювати без нього

Магазин і далі відкривається та приймає замовлення, тому зникнення помічають не одразу — зазвичай за скаргою покупця, який не отримав листа. Без планувальника не працює:

  • листи й повідомлення покупцям — про замовлення, оплату, відправлення;
  • імпорт і вивантаження за розкладом, оновлення прайс-листів;
  • вмикання та вимикання акцій за строком, перерахунок цін;
  • перевірка ліцензії та застосування оновлень;
  • автоматичні резервні копії;
  • перенесення каталогу з іншої платформи;
  • закриття зміни на касі й оновлення даних служб доставки.

Чи працює планувальник, видно в панелі керування: «Системний» → «Діагностика». Магазин відмічає там кожен свій запуск, тому відповідь точна — це не порада «налаштуйте cron», а перевірка того, що він справді викликається.

Черга завдань

Довгі справи магазин не виконує під час натискання кнопки — він ставить їх у чергу: листи та SMS, імпорт і експорт, перерахунок каталожних цін, застосування оновлень, переїзд з іншої платформи, нарізання великих фотографій.

Розбирає чергу той самий планувальник, останнім завданням кожної хвилини: він забирає час, що лишився (близько п’ятдесяти секунд), і виконує завдання одне за одним. Тому окремий постійний процес не потрібен, і магазин однаково працює на звичайному хостингу та на власному сервері.

Скільки завдань чекає черги — видно там само, у діагностиці. Якщо число зростає й не зменшується, планувальник не запускається: перевірте рядок cron.

На власному сервері постійний обробник черги теж припустимий і навіть швидший: завдання починають виконуватися одразу, а не на початку наступної хвилини. Але пам’ятайте — такий процес тримає в пам’яті код тієї версії, з якою він запустився, і після оновлення магазину його треба перезапускати.

Завдання, які магазин ставить собі сам

Окремо налаштовувати їх не потрібно, але корисно знати, що відбувається:

Коли Що робить
щохвилини відмічає, що планувальник живий, і розбирає чергу завдань
кожні п’ять хвилин завершує розсилки, у яких скінчився строк
кожні десять хвилин вмикає та вимикає акції за розкладом
кожні п’ятнадцять хвилин оновлює стан фіскальних чеків
щогодини виконує імпорт і вивантаження, яким настав час
двічі на добу перевіряє стан ліцензії
вночі знімає резервні копії, оновлює курси валют, перераховує групи покупців

Якщо хостинг обмежує запуск програм

Частина хостингів забороняє застосункам запускати окремі програми. Магазин це визначає сам і переходить у режим, де виконує завдання всередині свого процесу — нічого налаштовувати не треба.

Якщо запуск програм формально дозволено, але він усе одно не працює (так буває на деяких панелях), переведіть магазин у цей режим вручну. Додайте у файл .env рядок:

CARTIX_SPAWN_PROCESSES=false

Єдине, що при цьому справді втрачається, — автоматичні копії бази даних: їх знімає окрема програма сервера, і замінити її магазин не може. Копії можна далі робити засобами хостингу.

Оновлено 7 серпня 2026