Invokable > 戻る
2021-03-22
Laravel Laravel8

Laravel8のジョブバッチ

https://laravel.com/docs/8.x/queues#job-batching
https://readouble.com/laravel/8.x/ja/queues.html#job-batching

Laravel8で追加されたジョブバッチだけど大量のジョブをまとめて実行することがないので使う場面がない。無理矢理使ってみてもあまり効果がない。ドキュメントの例程度では意味がなさそう。使うとしたら全ジョブの完了を待ってからなにかしたい時?

use App\Jobs\ImportCsv;
use Illuminate\Bus\Batch;
use Illuminate\Support\Facades\Bus;
use Throwable;

$batch = Bus::batch([
    new ImportCsv(1, 100),
    new ImportCsv(101, 200),
    new ImportCsv(201, 300),
    new ImportCsv(301, 400),
    new ImportCsv(401, 500),
])->then(function (Batch $batch) {
    // すべてのジョブが正常に完了
})->catch(function (Batch $batch, Throwable $e) {
    // バッチジョブの失敗をはじめて検出
})->finally(function (Batch $batch) {
    // バッチの実行が終了
})->name('Import CSV')->dispatch();

return $batch->id;
投稿者 Invokable
0件のコメントを読むにはログインしてください。
登録 ログイン