Можно сделать как подсказывают авторы предыдущих ответов, но если понадобится сменить тип подключения, то такое решение работать не будет.
Можно обернуть добавление в очередь в команду и запускать через планировщик. У него есть специальный метод, который позволяет проверить была ли завершена предыдущая (та же самая) команда перед тем запустить её снова.
Вроде withoutOverlapping.
Ещё вариант.
Для задач с разным приоритетами создать разные очереди. И в нужной последовательности передать их обработчику.
php artisan queue:work --queue=high,low
Нужно смотреть в каждом случае что лучше подходит.