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