Остановит ли задание с низким приоритетом в очереди ремесленника выполнение задач с высоким приоритетом, если задание с низким приоритетом займет много времени? - PullRequest
0 голосов
/ 05 ноября 2018

Я работаю в очереди ремесленников с pm2 и собирался запустить двух мастеров, один из которых мог бы обрабатывать очереди с высоким приоритетом, а другой обрабатывал бы длинные первичные задания с длинными заданиями.

Проблема в том, что pm2 не позволяет запускать тот же сценарий, что и отдельный экземпляр.

Я знаю, что могу установить приоритеты здесь --queue=live-high,live-low,default, но моя проблема в том, что если выполнение задания с низким приоритетом занимает 5 минут, мне нужно иметь возможность обрабатывать задания с высоким приоритетом в то же время

1 Ответ

0 голосов
/ 16 ноября 2018

Из документации Laravel:

Фоновые задачи

По умолчанию несколько команд, запланированных одновременно, будут выполняться последовательно. Если у вас есть длительные команды, это может привести к Последующие команды запускаются намного позже, чем предполагалось. Если бы вы нравится запускать команды в фоновом режиме, чтобы все они могли работать одновременно вы можете использовать метод runInBackground:

$schedule->command('analytics:report')
         ->daily()
         ->runInBackground();

https://laravel.com/docs/5.7/scheduling#background-tasks

...