gpt4 book ai didi

php - Laravel 作业链

转载 作者:行者123 更新时间:2023-12-02 04:24:54 24 4
gpt4 key购买 nike

今天下午我一直在努力尝试让工作链发挥作用。无论发生什么,我都无法运行链式作业。第一个总是运行并成功,但链接的永远不会运行。

例如我有一个像

这样的事件监听器
  class PersistPreviousStatement implements ShouldQueue
{
/**
* @param StatementCreated $event
*/
public function handle(StatementCreated $event): void
{
DoOneThing::withChain([
new DoSomething()
])->dispatch();
}
}

我的两个工作类别如下:

class DoOneThing
{
use Dispatchable, Queueable;

public function handle(): void
{
$statement = Statement::find(20);
$statement->file = 'yyy';
$statement->save();
}
}


class DoSomething
{
use Dispatchable, Queueable;

public function handle(): void
{
$statement = Statement::find(10);
$statement->file = 'xxxx';
$statement->save();
}
}

在上面的情况下。我的 DoOneThing 类使用“yyy”正确设置了记录,但是 DoSomething 类没有运行。如果我像这样更改顺序

DoSomething::withChain([
new DoOneThing()
])->dispatch();

运行的是 DoSomething 而不是 DoOnething。我将两个作业都设置为可排队/可分派(dispatch),并且我的驱动程序设置为同步。我也可以像这样独立地分派(dispatch)作业:

DoSomething::调度()DoOneThing::dispatch()

两者都会运行。

有什么想法吗?

最佳答案

我在工作中缺少 InteractsWithQueue 特性。

关于php - Laravel 作业链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55475055/

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