Параллельная и последовательная обработка в Nifi - PullRequest
0 голосов
/ 03 апреля 2019

У меня 3 параллельно работающих процессора. Я хочу подождать, пока все не закончат свою работу. Все 3 процессора поместят сообщение в тему кафки, как только закончат свою работу. И как только все закончится, я хочу вызвать следующую работу. Для этого я исследовал возможные варианты, как показано ниже.

  1. Использовать ожидание-уведомление. подождите после всех 3 процессоров и затем сообщите о следующем задании
  2. Поместить состояние каждого процессора в DistributedMapCache, затем при каждом сообщении о положении в теме kafka проверить этот кеш, и все 3 состояния процессора будут выполнены, а затем запустить следующее задание
  3. напишите какой-нибудь опросчик, который будет продолжать опрашивать эти 3 процессора и запускать следующие задания

Как лучше всего добиться того же?

1 Ответ

0 голосов
/ 03 апреля 2019

Использование Wait-Notify будет bestway/cleaner для достижения этого случая.

  • Мы также можем достичьтот же случай с использованием процессора слияния содержимого для ожидания 3 потоковых файлов и последующего запуска следующего задания (в некоторых случаях это решение не будет работать).

См. эта ссылка для более подробной информации.

...