Spring 批处理多步与单步

Spring Batch Multiple Steps vs Single Step

我正在构建一个 Spring 批处理应用程序。
假设我有一个 Job 执行,例如:

  • 拆分音频文件
  • 执行语音转文本
  • 假设我有一个 TaskExecutor,允许并行化 Chunk-oriented 个步骤。

    使用两步而不是将所有这些操作放在一个步骤中有什么好处吗?

    我怀疑使用 2-Steps 会导致 "already finished files" 等待所有池完成,从而导致效率低下。

    提前致谢

    我建议分两步进行。主要原因是错误处理。我假设一旦您拆分了文件,如果语音到文本处理出现错误,您将不想再次执行此操作。如果是这种情况,通过将处理分为两个步骤,拆分功能将不需要重新运行。此外,这意味着面向块的处理可以更有状态,因为已成功处理的块不需要重新执行。是的,您可以自己编写此功能的代码使其以这种方式运行,但是 Spring Batch 提供开箱即用的功能...为什么不利用它呢?