Я использую Laravel 5.5 с драйвером очереди базы данных для управления заданиями, и у меня работает 5 рабочих процессов. Однако я заметил, что скорость обработки заданий остается постоянной и составляет 100 заданий в минуту, независимо от количества рабочих.
Когда я тестировал локально, я обнаружил, что рабочие обрабатывают задания последовательно. Рабочий начинает обрабатывать новое задание только после завершения текущего, что исключает преимущество наличия нескольких рабочих процессов.
Ранее я сталкивался с аналогичной проблемой, когда задания в настраиваемой очереди обрабатывались. обрабатываются последовательно. Возврат к очереди по умолчанию решил проблему, позволив обрабатывать задания параллельно. Однако, даже несмотря на то, что теперь все задания находятся в очереди по умолчанию, они по-прежнему обрабатываются последовательно.
Файл ENV
QUEUE_DRIVER = database
Супервайзер
[program:laravel_queue]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:work --delay=10 --tries=10 --timeout=300
directory=/var/www/html
stdout_logfile=/var/www/html/storage/logs/laravel-queue.log
logfile_maxbytes=0
logfile_backups=0
redirect_stderr=true
autostart=true
numprocs=5
autorestart=true
startretries=86400
Подробнее здесь: https://stackoverflow.com/questions/792 ... ny-workers
Очередь заданий Laravel 5.5 не работает параллельно, несмотря на большое количество работников ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как текущая очередь, очередь отправки и целевая очередь взаимодействуют друг с другом в GCD?
Anonymous » » в форуме IOS - 0 Ответы
- 103 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Очень медленное создание и инициализация заданий с использованием системы заданий Unity.
Anonymous » » в форуме C# - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-