laravel очереди

163
09 декабря 2018, 06:10

Вопрос, как в Laravel не дублировать очередь? Т.е. Есть определённая работа, которая добавляется в очередь, но как её не дублировать, если она уже стоит в очереди? В документации ответа не найдено...

Answer 1

С этим может помочь модуль mbm-rafal/laravel-single-dispatch

Установка:

$ composer require mbm-rafal/laravel-single-dispatch
$ composer update

Создаем файл миграции:

$ php artisan vendor:publish --provider="MBM\Bus\BusServiceProvider" --force

запускаем миграцию

$ php artisan migrate

config/app.php

'providers'=> [
    \MBM\Bus\BusServiceProvider::class,
    ...
]

Добавляем в app/Providers/AppServiceProvider.php

public function boot()
{
    Queue::after(function (JobProcessed $event) {
        app(\MBM\Bus\Dispatcher::class)->unregister($event->job);
    });
    Queue::failing(function (JobFailed $event) {
        app(\MBM\Bus\Dispatcher::class)->unregister($event->job);
    });
    ...
}

Источник: https://github.com/mbm-rafal/laravel-single-dispatch

READ ALSO
Как проверить строку на корректность

Как проверить строку на корректность

В С# есть функция IsNullOrWhiteSpace(), которая проверяет, является ли строка пустой или с одними пробеламиВопрос, как в php проверить, является ли введённая...

185
Переопрделение классов в дочерней теме wordpress

Переопрделение классов в дочерней теме wordpress

Имеется тема вордпрес которая использует файлы php в дирректории inc/

139
Как получить загруженный файл на сервер?

Как получить загруженный файл на сервер?

Есть html-форма, содержащая поле файл

171
Ошибка при работе с php namespace

Ошибка при работе с php namespace

Объявляю namespace Controller:

184