Spring Batch Несколько шагов против одного шага

Я создаю приложение Spring Batch. Предположим, что у меня есть Работа, который выполняется, например:

  • Разделить аудиофайл
  • Преобразование речи в текст
  • Предположим, что у меня есть TaskExecutor, позволяющий распараллелить шаги Кусок-ориентированный.

    Есть ли какие-то преимущества в использовании 2-Steps вместо объединения всех этих операций в один?

    Я сомневаюсь, что использование 2-Steps заставляет «уже готовые файлы» ждать завершения всего пула, что приводит к неэффективности.

    заранее спасибо

    Пользовательский скаляр GraphQL
    Пользовательский скаляр GraphQL
    Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
    Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
    Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
    В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
    Поднятие тревоги для долго выполняющихся методов в Spring Boot
    Поднятие тревоги для долго выполняющихся методов в Spring Boot
    Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
    Полный курс Java для разработчиков веб-сайтов и приложений
    Полный курс Java для разработчиков веб-сайтов и приложений
    Получите сертификат Java Web и Application Developer, используя наш курс.
    2
    0
    1 559
    1
    Перейти к ответу Данный вопрос помечен как решенный

    Ответы 1

    Ответ принят как подходящий

    Я бы рекомендовал делать это в два этапа. Основная причина — обработка ошибок. Я предполагаю, что после того, как вы разделите файл, вам не нужно будет делать это снова, если возникнет ошибка при обработке речи в текст. Если это так, то за счет разделения обработки на два этапа функцию разделения не нужно будет запускать повторно. Кроме того, это означает, что обработка, ориентированная на фрагменты, может быть более управляемой в том смысле, что успешно обработанные фрагменты не нужно будет выполнять повторно. Да, вы можете сами запрограммировать эту функциональность, чтобы она вел себя таким образом, но Spring Batch предоставляет функциональность из коробки... почему бы не воспользоваться ею?

    Другие вопросы по теме