Системный модуль Queue
Модуль queue предназначен для фонового выполнения задач.
Для чего нужен
- запуск длительных операций вне HTTP-запроса;
- распределение нагрузки между воркерами;
- асинхронная обработка задач модулей.
Базовый поток
- Модуль формирует задачу и отправляет её через клиент очереди.
- Воркер получает задачу и выполняет обработчик.
- Результат/ошибка логируются в системные логи.
Связь с воркерами
В Core2 для работы очередей используется инфраструктура воркеров (worker.php, WorkerManager, WorkerClient).
Конкретный backend очереди зависит от конфигурации и версии ядра.
Рекомендации
- Делайте обработчики идемпотентными.
- Передавайте в задачу только необходимый payload.
- Ошибки фиксируйте в логах с контекстом (модуль, id сущности, тип операции).
- Для тяжелых задач используйте отдельные воркеры/очереди, чтобы не блокировать критичные задачи.