gpt4 book ai didi

laravel - 同步运行 Laravel 作业链

转载 作者:行者123 更新时间:2023-12-02 19:45:51 25 4
gpt4 key购买 nike

我有一个像这样的 Laravel 工作链

Job1::withChain([
new Job2(),
new Job3(),
new Job4()
])->dispatch();

有时我希望它同步运行作业。

但是当我将 ->dispatch() 更改为 ->dispatchNow() 时,我得到

Call to undefined method Illuminate\Foundation\Bus\PendingChain::dispatchNow()

还有其他方法可以同步运行作业链吗?

最佳答案

您可以使用 allOnConnection 方法并在 sync 连接上运行它们:

Job1::withChain([
new Job2(),
new Job3(),
new Job4()
])->dispatch()->allOnConnection('sync');

只需检查 config/queue.php 文件中 sync 连接的驱动程序确实是'sync'.

另一种选择(当您想要在同步运行作业与异步运行作业之间轻松“切换”时并不理想)是一个接一个地分派(dispatch)它们,例如:

Job1::dispatchNow();
Job2::dispatchNow();
Job3::dispatchNow();
Job4::dispatchNow();

关于laravel - 同步运行 Laravel 作业链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59300730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com