2017-05-24 6 views
2

Ich habe GetHttp und InvokeHttp Nifi-Prozessoren, die Flüsse in Nifi initiiert, aber ich möchte sie von den URLs nur einmal erhalten und die Daten an den nächsten Prozess mit Prozessor-Konfigurationen kann ich nicht drehen Ausplanung, wie dies zu erreichen ist.Wie Nifi Prozessor Zeitplan ausschalten

Antwort

0

InvokeHttp könnte nicht initial sein und könnte durch eingehende Flussdatei von einem anderen Prozessor ausgelöst werden.

So können Sie Art von Sync-Logik vor und nach Ihrem InvokeHTTP Prozessor.

Zum Beispiel können Sie Wait/Notify Prozessoren verwenden.

4

Apache NiFi-Prozessoren und -Flows sind für konstante Datenströme ausgelegt und nicht für einzelne "Jobausführungen" oder "Stapelverarbeitung". Eine Metapher, die wir oft verwenden, ist, dass NiFi, anstatt Rohre zu bauen und zu montieren, um Wasser zu leiten, Ihnen hilft, Bewässerungsgräben entlang eines bereits fließenden Flusses zu graben. Die Daten sind schon immer da (und in Bewegung).

Ist dies wirklich eine einmalige Aktion, die Sie auslösen müssen, können Sie den Run Schedule um so etwas wie 30 sec gesetzt und manuell starten und dann Stopp diese Prozessoren. Sie werden einmal ausgeführt, und solange Sie sie innerhalb von 30 Sekunden stoppen, wird sie nicht erneut ausgeführt.

Wenn dies nicht manuell möglich ist, können Sie den Run Schedule auf etwas wie 52 weeks setzen. Sie können auch die Planungsstrategie zu CRON driven ändern und den Ablaufplan auf einen Crontab-Parameter mit einem sehr langen Zeitplan setzen.

Wie @daggett erwähnt, können Sie auch die Wait/Notify Prozessoren verwenden, um eine Strömung auslösen, die sonst nicht ausführen würde, aber das funktioniert nur für InvokeHTTP, als GetHTTP eine Quelle Prozessor ist.

Verwandte Themen