I have created 3 process groups. I want second process group to be executed after first process group is completed, and third process group to be executed after second process group is completed.
Any solution on this please??
I have created 3 process groups. I want second process group to be executed after first process group is completed, and third process group to be executed after second process group is completed.
Any solution on this please??
Best practice is to pair "Wait" and "Notify" processors together such that any flows with a strict wait condition are not released until the Notify event is sent by the other flow(s).
In your example, "process group 1" would be responsible for sending the Notify message and "process groups 2 and 3" would each have corresponding Wait processors that essentially loop until the first process group sends notification that it has completed.
Apache NiFi is designed around a continuous flow assumption. Adapting a continuous flow to job scheduling can be awkward and difficult, because it depends on you providing a definition for when a process group is "completed". NiFi itself has no concept of a process group ever being completed, only stopped or running. There are some things you might be able to do:
All of these really boil down to the same issue - how will you know the previous group is "completed"?
Each process group has a relationship to connect with other process group.
Try to drag relationship from first process group to second and from second process group to third process group.
It requires you to create output port in first process group to be connected with input port of second processor. If you don't want to use output of first process group in second process group then just write it some directory using 'putFile' processor in second process group and create a independent flow for our second process group.
Try with this and I will let you know if I can find another way to do it.