Перейти к содержанию

Системный модуль Queue

Модуль queue предназначен для фонового выполнения задач.

Для чего нужен

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

Базовый поток

  1. Модуль формирует задачу и отправляет её через клиент очереди.
  2. Воркер получает задачу и выполняет обработчик.
  3. Результат/ошибка логируются в системные логи.

Связь с воркерами

В Core2 для работы очередей используется инфраструктура воркеров (worker.php, WorkerManager, WorkerClient). Конкретный backend очереди зависит от конфигурации и версии ядра.

Рекомендации

  • Делайте обработчики идемпотентными.
  • Передавайте в задачу только необходимый payload.
  • Ошибки фиксируйте в логах с контекстом (модуль, id сущности, тип операции).
  • Для тяжелых задач используйте отдельные воркеры/очереди, чтобы не блокировать критичные задачи.