Пакетная обработка нескольких шагов против одного шага
Я создаю приложение Spring Batch.
Предположим, что у меня есть задание, которое выполняет, например:
Предположим, что у меня есть TaskExecutor, позволяющий параллельно ориентировать шаг (-ки) Chunk.
Есть ли какие-либо преимущества в использовании 2-х шагов вместо объединения всех этих операций в одну?
Я сомневаюсь, что использование 2-шагов заставляет "уже готовые файлы" ждать завершения всего пула, что приводит к неэффективности.
заранее спасибо
1 ответ
Я бы порекомендовал сделать это в два этапа. Основная причина - обработка ошибок. Я бы предположил, что после того, как вы разделите файл, вам не нужно будет делать это снова, если есть ошибка при обработке речи в текст. Если это так, разделив обработку на два этапа, функция разделения не должна быть перезапущена. Кроме того, это означает, что обработка, ориентированная на фрагменты, может быть более динамичной, поскольку фрагменты, которые были успешно обработаны, не требуют повторного выполнения. Да, вы могли бы самостоятельно кодировать эту функцию, чтобы вести себя таким образом, но Spring Batch предоставляет функциональность из коробки... почему бы не воспользоваться этим?