Sail: очереди и воркеры

Работа с очередями внутри Sail. Контейнеры — в Базы данных и сервисы, переменные окружения — в Окружения и деплой.

Навигация: Все инструменты · Sail · БД · Env · Диагностика

Содержание


Драйверы

| Драйвер | Заметки | |---------|---------| | sync | Отладка без воркера | | database | Таблица jobs, нужен воркер | | redis | Типичный выбор, Horizon | | rabbitmq | Через пакет + контейнер |

QUEUE_CONNECTION в .env, затем sail artisan config:clear.


queue:work

sail artisan queue:work redis --queue=high,default --tries=3

--once для одной задачи. Несколько очередей — несколько процессов или флаги --queue.


Horizon

QUEUE_CONNECTION=redis, затем sail artisan horizon. На проде — supervisor. Локально останов — Ctrl+C.


RabbitMQ

Поставьте сервис в compose, пакет AMQP, sail artisan queue:work rabbitmq. Семантика отличается от Redis — тестируйте задержки и повторы.


Failed jobs

sail artisan queue:failed, queue:retry {id}, queue:flush. Настройте $tries, $timeout, backoff на джобах.


queue:restart

После смены кода: sail artisan queue:restart. Для частых итераций — --max-jobs=1 или --once.


Планировщик

Cron в Sail нет: sail artisan schedule:run вручную или schedule:work в отдельном терминале. На сервере — cron каждую минуту.


Продакшен

На сервере воркеры под supervisor/K8s, масштабирование, кластер Redis/RabbitMQ. Sail — для разработки и интеграционных проверок.


Sail · БД · Env · ← Все инструменты