A plan is a sequence of tasks that are executed based manually or based on a schedule. Plans can be used to automate the execution of multiple related tasks, such as all of the outputs generated from a set of multiple related flows.
- When a plan is triggered:
A snapshot of the objects in the plan is capture. This snapshot defines the set of tasks that are executed as part of a plan run.
NOTE: A snapshot does not capture the objects underlying the tasks. After a snapshot is taken, subsequent changes to the underlying flows could impact the outcome of the flow tasks when they are later executed during the plan run.
- The set of tasks in the plan are triggered in the order listed in the plan.
- All of the dependencies for any task are also executed. For example, if a flow output requires the outputs from another upstream flow, then that flow's output is also generated.
- If one task fails to execute, the other tasks are not executed.
- For more information on plans, see Overview of Operationalization.
- You have access to all of the flows that you wish to use in your plan.
- For each flow in your plan:
- All of the recipes whose results you wish to generate have output objects associated with them.
- Each output object has at least one of the following that has been created for it:
- write setting object (tablefile-based output)
publication (filetable-based output)
NOTE: In a flow, all recipes that you wish to have executed by the corresponding task must have a defined output object. For each output object, you must create at least one write settings or publication objectfile or table settings definition. During plan runs, these objects are not validated, and missing outputs are ignored.
Identify the tasks that you wish to execute.
Create the schedule for the plan.
NOTE: You must have access to any flows that you wish to execute. See Flows Page.
- In the context menu for the plan, select Schedule. Specify one or more triggers for the schedule
- Add a task.
- In Plan View, click the Plus icon at the bottom of your plan.
- Specify the task to execute.
Repeat the previous step to add additional tasks as needed.
Tip: You can insert tasks between other tasks. Use the Plus icon between two plan objects.
- To test your plan, click Run now. The plan is immediately executed.
Edit the plan and repeat the above steps until the plan is ready for production runs.
Tip: While a plan is in development, you may wish to disable its schedule, which prevents execution according to the schedule. You can still run test executions using the Run Now button.
- Create the schedule for the plan.
- In the context menu for the plan, select Schedule.
- Specify one or more triggers for the schedule. When a trigger occurs, the plan is queued for execution.
- When ready, the plan runs at the time scheduled in the trigger.
To begin, you must create a plan object.
Subsequent runs of the plan use this new value as the override for the parameter.
- For more information, see Plan View for Flow Tasks.
- For more information on flow parameters, see Manage Parameters Dialog.
Create Branching Plan
In some scenarios, you may need to branch plan execution steps based on the results of a task in the plan. For example, you may need to send separate messages using an HTTP task depending on whether a flow task succeeds or fails in execution. You can create branches in the plan graph by adding task execution rules and parallel nodes, which run based on the success and failure states of your plan runs.
To begin this simple example:
- Create your first task, which is a flow task in the above example. For more information, see Add Tasks above.
- Complete the following sections.
Add Task Execution Rule
Next, you create the first HTTP task that results from the above task and the execution rule that determines when it runs.
- This task should run based on the successful execution of the flow task.
- A task execution rule is a condition that is tested after a flow task has run to determine if the task that is downstream of it is executed as a result. In this case, you create an
- Click the plus icon below the existing flow task node.
- Select the HTTP task type and enter information in the required fields. See Add HTTP Tasks above.
- Click the link connecting the created HTTP task node and its previous task node and select
The HTTP task is executed only when the flow task has run successfully.
Add Parallel Task
Next, you can create the HTTP task that runs when the flow task fails.
- Click the plus icon below the existing flow task node and select Add a parallel node. A parallel node is added to the plan graph. See Example below.
- Select the HTTP task type and enter information in the required fields. See Add HTTP Tasks.
- Click the link connecting the new HTTP task and its previous task node and select
The second HTTP task is executed only when the flow task has failed to execute.
Example - Success or Failure Tasks in a Plan
Success and Failure tasks
When the flow tasks complete successfully, the
On success HTTP task sends a message.
When the task fails, the
On failure HTTP task delivers a different message.
After you have created the triggers and tasks of your plan, you can perform a test run of the plan.