База данных Laravel ставит в очередь несколько работников, не работающих над заданием одновременноPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 База данных Laravel ставит в очередь несколько работников, не работающих над заданием одновременно

Сообщение Anonymous »

Работники не работают в параллельном типе подключения к базе данных Laravel 5.5
У меня есть проект Laravel, работающий под управлением версии 5.5, с системой очередей, настроенной с использованием подключения к базе данных type.
Очередь работает должным образом: каждое отправленное задание забирается назначенным исполнителем, обрабатывается и удаляется из таблицы заданий после завершения.
Однако я столкнулся с отставанием рабочих мест, потому что работник не может создавать рабочие места быстрее, чем они создаются. Он очищает примерно 60 рабочих мест в минуту.
Чтобы решить эту проблему, я увеличил количество рабочих мест с 1 до 3, но количество очищаемых рабочих мест осталось прежним (60 рабочих мест в минуту). .
После добавления протоколирования обрабатываемых заданий я обнаружил, что всякий раз, когда работник A обрабатывает задание, работник B остается бездействующим, и наоборот. Похоже, что одновременно активен только один рабочий процесс, и они не обрабатывают задания параллельно.
Что может быть причиной этого и как я могу гарантировать, что несколько рабочих процессов одновременно обрабатывают задания в Laravel с очередью базы данных?
В чем проблема?
Настройка очереди Код
QUEUE_DRIVER = database

Код распределения заданий
dispatch(new \App\Jobs\ProcessRobotCameraStreamJob($mqttTopic, $messageJsonFormat));

Супервайзер
[program:teleops_queue]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:work --tries=5 --timeout=300 --queue=teleops_robot_position
directory=/var/www/html
logfile_maxbytes=0
logfile_backups=0
redirect_stderr=true
autostart=true
numprocs=3
autorestart=true
startretries=86400

Состояние Sudo Supervisorctl
teleops_queue:teleops_queue_00 RUNNING pid 1, uptime 2:29:03
teleops_queue:teleops_queue_01 RUNNING pid 2, uptime 2:29:03
teleops_queue:teleops_queue_02 RUNNING pid 3, uptime 2:29:03


Подробнее здесь: https://stackoverflow.com/questions/792 ... ncurrently
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»