0
で私は2つのジョブのキューを持っています。明晰Laravelキューデータ別にチェーン
$this->dispatch(new Test1Job())->chain(new Test2Job($here I want to have a paramter, which is returned from Test1Job));
は、どのように私は、キューに別のジョブからデータを取り出すことができますか?
で私は2つのジョブのキューを持っています。明晰Laravelキューデータ別にチェーン
$this->dispatch(new Test1Job())->chain(new Test2Job($here I want to have a paramter, which is returned from Test1Job));
は、どのように私は、キューに別のジョブからデータを取り出すことができますか?
コードベースを見てジョブを連鎖させるだけです。そこにはゼロのドキュメントがあります。ちょっとした研究をしてから、投稿者にはcommittedジョブチェインのコードがあることがわかりました。 ジョブを連鎖させる必要がある場合は明らかに問題になりますが、それはできません。
私はそれを行うために別のライブラリを使用します。私はguzzle/promisesと呼ばれるものを見つけました。
use Carbon\Carbon;
use GuzzleHttp\Promise\Promise;
use GuzzleHttp\Promise\EachPromise;
$job1 = (new JobClass1())->delay(Carbon::now()->addSeconds(5));
$job2 = (new JobClass2());
$job3 = (new JobClass3());
$job4 = (new JobClass4());
$promises = [dispatch($job1),dispatch($job2),dispatch($job3),dispatch($job4)];
$each = new EachPromise($promises, [
'fulfilled' => function ($value, $id, Promise $aggregate) use (&$called) {
$aggregate->resolve(null);
},
'rejected' => function (\Exception $reason) {
echo $reason->getMessage();
}
]);
$p = $each->promise();
foreach($p as $i => $prom){
$prom->resolve();
$prom->wait();
}