РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1287 of 1392 menu

Команда queue:work

Команда queue:work запускает обработчик очереди, который извлекает задачи из указанной очереди и выполняет их. По умолчанию процесс работает бесконечно, обрабатывая задачи по мере их поступления. Первым параметром можно указать соединение, вторым - имя очереди. Команда поддерживает множество опций для тонкой настройки поведения обработчика.

Синтаксис

php artisan queue:work {connection?} {--queue=} {--once} {--stop-when-empty} {--delay=} {--memory=} {--timeout=} {--tries=} {--sleep=}

Параметры команды

Команда принимает следующие параметры и опции:

connection - имя соединения с очередью (например, redis, database) --queue - имена очередей для обработки через запятую --once - обработать только одну задачу и завершиться --stop-when-empty - остановить процесс, когда очередь станет пустой --delay - задержка перед повторной попыткой (в секундах) --memory - максимальный лимит памяти (в мегабайтах) --timeout - таймаут выполнения задачи (в секундах) --tries - максимальное количество попыток выполнения --sleep - пауза между проверками очереди (в секундах)

Пример 1

Запустим обработчик очереди с настройками по умолчанию:

php artisan queue:work

Результат выполнения кода:

"Processing jobs from the queue..."

Пример 2

Запустим обработчик для конкретной очереди с ограничением по памяти:

php artisan queue:work --queue=high-priority --memory=256

Результат выполнения кода:

"Processing jobs from high-priority queue with memory limit 256MB"

Пример 3

Обработаем одну задачу и завершим работу с максимальным количеством попыток:

php artisan queue:work --once --tries=3

Результат выполнения кода:

"Processing a single job with max 3 attempts" "Job processed successfully"

Пример 4

Запустим обработчик с остановкой при пустой очереди и таймаутом 60 секунд:

php artisan queue:work --stop-when-empty --timeout=60

Результат выполнения кода:

"Starting queue worker with timeout 60s" "No jobs found, stopping worker"

Пример 5

Запустим обработчик с несколькими очередями и задержкой перед повторной попыткой:

php artisan queue:work --queue=high-priority,default,low-priority --delay=5

Результат выполнения кода:

"Processing jobs from queues: high-priority, default, low-priority" "Retry delay set to 5 seconds"

Смотрите также

  • команда queue:listen,
    которая запускает обработчик очереди с автоматической перезагрузкой кода
  • команда queue:failed,
    которая показывает список проваленных задач из очереди
  • команда queue:retry,
    которая повторно отправляет проваленные задачи в очередь
  • команда make:job,
    которая создаёт новый класс задания для очереди
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить