説明があります。
ジョブの複数のインスタンスを同時に実行することは可能ですか?
現在、ジョブのインスタンスは常に1つあります。
可能であれば、その方法を教えてください。
説明があります。
ジョブの複数のインスタンスを同時に実行することは可能ですか?
現在、ジョブのインスタンスは常に1つあります。
可能であれば、その方法を教えてください。
はい、できます。Spring Batchは、JobParametersに基づいてジョブを区別します。したがって、常に異なるJobParametersを同じジョブに渡すと、同じジョブの複数のインスタンスが実行されます。簡単な方法は、ジョブを開始するために各リクエストにUUIDパラメーターを追加することです。例:
final JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
jobParametersBuilder.addString("instance_id", UUID.randomUUID().toString(), true);
jobLauncher.run(job,jobParametersBuilder.toJobParameters());
SpringBatchへの終了シグナルのブール値「true」はそのパラメーターをジョブのインスタンスの「identity」の一部として使用するため、ジョブの「実行」ごとに常に新しいインスタンスを取得します。
はい、ここにも記載されているように、タスクを非常に並行して実行できます
しかし、考慮すべきことがいくつかあります
はい、ジョブの複数のインスタンス(または実行)を同時に実行することは完全に可能です。