Question

I read the documentation that it isn't possible to create a loop in a workflow, but I need to invoke the main method separately each time with the list item - hence need to create a loop.

One solution was to invoke the workflow again using sub-workflow.

Is there any other solution to this? Like using coordinator jobs?

Was it helpful?

Solution

Some possible 'hack' solutions that i can think of:

  • Create a custom java action as you say, that uses the Oozie Client API to run several workflows (one for each item in your list). you can then either run the items in parallel or serial and poll for success / failure.
  • Another option, similar to the above would be to use some templateing language like Apache Velocity and have your custom action take a template and expand it (generating a workflow xml file on the fly), before again using the Oozie Client API to run this generated workflow.

I like the second option more as you can make a generic solution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top