У меня есть поток NiFi, где потоковый файл будет проходить через поток к процессору ExecuteStreamCommand
, чтобы выполнить сценарий python для выполнения какого-либо процесса.Файл, который запускается в потоке, имеет формат имени в виде даты (MMdd_HHmm), например: 0505_1015.csv
0505_1030.csv
0505_1045.csv
и так далее.Но в моем потоке мне нужно, чтобы каждый файл работал по порядку (если они находятся в потоке одновременно), так что это не первый в очереди, а файл, находящийся в потоке, имя которого требует меньше даты и времени для запускаи зайдите в процессор первым.
Итак, из примера, если 0505_1015.csv
0505_1030.csv
0505_1045.csv
в данный момент находятся в потоке, ожидающем запуска в следующем процессоре.0505_1015.csv
сначала войдет в процессор, затем после его завершения в процессоре будет выполняться 0505_1030.csv
.
Таким образом, если файлы находятся в потоке, он должен запускаться с первого времени даты.
Как показано на рисунке, если в потоке несколько потоковых файлов, первым будет выполняться тот, в имени которого меньше datetime.
Iпрочитал что-то о EnforceOrder
и prioritizer
и нашел этот пост , но все еще не могу понять, как это сделать.
Спасибо