如何将数据从链中的一个作业传递到另一个作业?
XJob::withchain([
new YJob()
new ZJob(),
new AJon(),
])->dispatch();
我想将 $x 从 XJob 传递到 YJob,并将 $y 传递到 ZJob,将 $x、$z 传递到 AJob()。
您可以通过调度方法将参数传递给第一个作业。所以你的代码应该是这样的:
XJob::withchain([
new YJob($y)
new ZJob($z),
new AJon($a),
])->dispatch($x);
您可以创建一个单独的作业类并将其排入队列,并在其中同步调用其他作业。例如这样:
$respX = XJob::dispatchSync();
$respY = YJob::dispatchSync($respX);
$respZ = ZJob::dispatchSync($respY);
这样,您仍然可以将逻辑分离到多个类中,并异步执行。 但如果它需要成为一份工作,我不知道...... 但它会起作用。