Есть ли способ получить задание в очереди из ID задания в Laravel? При добавлении задания в очередь я сохраняю идентификатор задания. Позже в какой-то момент времени (задержка для обработки задания в очереди) я хочу удалить задание из очереди. Если я могу получить задание в очереди, используя идентификатор задания, я могу использовать метод delete()
для его удаления.Как получить задание в очереди из ID задания в Laravel?
1
A
ответ
0
Это очередь, поэтому вы не можете ее выбрать, но если вы регистрируете данные также вне очереди, вы можете посмотреть в Queue :: before() {}, добавленном в AppServiceProvider.php, чтобы проверить сохраненный идентификатор или ссылаться на задания, когда они выходят из очереди и перед обработкой.
Я также работаю над этой областью, поэтому, если я выясню код для этого, и опубликую его, если я это сделаю. Когда вы получаете событие назад в before(), вам нужно развернуть его и получить задание для изучения.
2
Я использую этот код для Laravel 5,5:
use Illuminate\Contracts\Bus\Dispatcher;
$job = (new JOB_CLASS())->onQueue('QUEUE_NAME')->delay('DELAY');
$id = app(Dispatcher::class)->dispatch($job);
Это единственный путь мат? –
@SantoshAchari Ну честно, я не нашел другого решения, и я думаю, что это самый простой способ сделать это. – Armin