当前如何运行laravel队列作业(有延迟),

时间:2019-03-12 01:38:43

标签: laravel-5 laravel-queue

有些工作推迟到明天,它可以正常工作,应该在明天运行。这样的代码。

$delayTo = now()->addDays(1);
ProcessSomeThing::dispatch($params)->delay($delayTo);

但是我需要添加一个额外的功能以立即运行它,而不必等到明天; 怎么做?

我的想法,但不确定是否很好

更改“ jobs.available_at”列的好方法?

2 个答案:

答案 0 :(得分:2)

您可以使用ProcessSomeThing::dispatchNow($params)

无需交易export class MyComponent implements OnInit { playing: boolean = false; constructor(private audioService: AudioService) {} ngOnInit(): void { this.audioService.playing.subscribe(playing => this.playing = playing); } }

它运行作业而不排队在作业表中。

引用:Laravel Queue Synchronous-dispatching

答案 1 :(得分:0)

app(\Illuminate\Bus\Dispatcher::class)->dispatchNow(new $job)

OR

全局也可用

dispatch_now(new $job)