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 · ← Все инструменты