Spring批处理多步骤与单步骤

时间:2019-04-15 09:52:42

标签: java spring-batch spring-batch-tasklet

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

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

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

    我的疑问是,使用两步操作会导致“已完成的文件”等待所有池完成,从而导致效率低下。

    预先感谢

    1 个答案:

    答案 0 :(得分:0)

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