有了两个使用laravel的微服务,我们可以使用redis将一个作业从一个微服务分派到另一个微服务。
Bus::chain([
new SomeJob(),
new SomeJob(),
new SomeJob(),
])->dispatch()
但当我们对批次进行同样的处理时:
$batch = Bus::batch([
[
new SomeJob(),
new SomeJob(),
new SomeJob(),
]
])->then(function (Batch $batch) {
// All jobs completed successfully...
})->catch(function (Batch $batch, Throwable $e) {
// First batch job failure detected...
})->finally(function (Batch $batch) {
// The batch has finished executing...
})->onConnection('redis')
->dispatch();
作业仍在另一个微服务上执行,但它不会更新 job_batches
table。
例如 Microservice 1
接收请求,在上创建jobbatch
job_batches Microservice 1
调度redis队列上的作业 Microservice 2
处理作业并执行一些代码 Microservice 1
不更新 job_batches
无论成功或失败
有什么建议吗?
暂无答案!
目前还没有任何答案,快来回答吧!