laravel 队列分发 ProcessPodcast::dispatch($podcast);没有返回值, 成不成功怎么知道?
如果任务没有到redis 好像也没有保错
laravel 队列分发 ProcessPodcast::dispatch($podcast);没有返回值, 成不成功怎么知道?
如果任务没有到redis 好像也没有保错
15 回答8.4k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
try...catch
捕获一下异常,如果有异常就失败,反之成功。还有个
\Illuminate\Queue\Events\JobQueued
事件。具体说一下吧,因为
Jobs::dispatch
会返回一个\Illuminate\Foundation\Bus\PendingDispatch
实例,会在这个实例的析构函数中派发任务,但是一般情况下,如果你没有将Jobs::dispatch
存成变量,那他就没有引用,会被回收,但是回收不是立即执行的,而是根据策略进行回收。如果你想要立即触发的话,的话,你可以使用类似于下面的方式。
这样子会触发立即回收(调用析构函数,派发任务)
或者,你也可以手动派发 😮