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

Обслуживание: одна строка cron

Что именно перестаёт работать без планировщика и почему постоянный обработчик очереди магазину не нужен.

На этой странице

Магазину нужна ровно одна строка в планировщике хостинга. Всё остальное он делает сам — постоянно работающих служб, supervisor и отдельного обработчика очереди не требуется.

* * * * * cd /путь/к/магазину && php artisan schedule:run

Строку с уже подставленным путём показывает последний шаг установщика. Добавьте её в разделе «Cron» панели хостинга — там это обычно «Добавить задание», периодичность «каждую минуту».

Что перестаёт работать без неё

Магазин продолжает открываться и принимать заказы, поэтому пропажу замечают не сразу — обычно по жалобе покупателя, который не получил письмо. Без планировщика не работает:

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

Работает ли планировщик, видно в панели управления: «Системный» → «Диагностика». Магазин отмечает там каждый свой запуск, поэтому ответ точный — это не совет «настройте cron», а проверка того, что он действительно вызывается.

Очередь задач

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

Разбирает очередь тот же планировщик, последней задачей каждой минуты: он забирает оставшееся время (около пятидесяти секунд) и выполняет задания одно за другим. Поэтому отдельный постоянный процесс не нужен, и магазин одинаково работает на обычном хостинге и на своём сервере.

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

На своём сервере постоянный обработчик очереди тоже допустим и даже быстрее: задания начинают выполняться сразу, а не в начале следующей минуты. Но помните — такой процесс держит в памяти код той версии, с которой он запустился, и после обновления магазина его нужно перезапускать.

Задачи, которые магазин ставит себе сам

Отдельно настраивать их не нужно, но полезно знать, что происходит:

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

Если хостинг ограничивает запуск программ

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

Если запуск программ формально разрешён, но всё равно не работает (так бывает на некоторых панелях), переведите магазин в этот режим вручную. Добавьте в файл .env строку:

CARTIX_SPAWN_PROCESSES=false

Единственное, что при этом действительно теряется, — автоматические копии базы данных: их снимает отдельная программа сервера, и заменить её магазин не может. Копии можно продолжать делать средствами хостинга.

Обновлено 7 августа 2026