• Как не добавлять повторяющиеся задания в очередь в Laravel?

    @goodman0907
    Можно сделать как подсказывают авторы предыдущих ответов, но если понадобится сменить тип подключения, то такое решение работать не будет.
    Можно обернуть добавление в очередь в команду и запускать через планировщик. У него есть специальный метод, который позволяет проверить была ли завершена предыдущая (та же самая) команда перед тем запустить её снова.
    Вроде withoutOverlapping.

    Ещё вариант.
    Для задач с разным приоритетами создать разные очереди. И в нужной последовательности передать их обработчику.
    php artisan queue:work --queue=high,low

    Нужно смотреть в каждом случае что лучше подходит.
    Ответ написан
    Комментировать