Overview of Orchestration
Orchestration is a set of functionality that supports the scheduled execution of task sequences in the Designer Cloud Powered by Trifacta platform. These tasks could be external processes, data transformation jobs, HTTP requests, and more.
In the following sections, you can review short summaries of specific features and explore more detailed information on them.
Terms
Term | Description |
---|---|
plan | A plan is a sequence of tasks that are executed on one or more flows to which you have access. To orchestrate tasks, you build a plan. A plan can be scheduled for execution, triggered manually, or invoked via API. |
trigger | A task is executed based on a trigger. A trigger is a condition under which a task is executed. In many cases, the trigger for a task is based on the schedule for the plan. |
task | A task is a unit of execution in the platform. For example, one type of task is the execution of a flow, which executes all recipes in the flow, as well as the flow's upstream dependencies. |
snapshot | A snapshot of the plan is captured, and the plan is executed against this snapshot. For more information on snapshots, see "Plan execution" below. |
Task Types
The following types of tasks are available.
Type | Description |
---|---|
flow task | An ad-hoc or scheduled execution of the transformations required to produce one or more selected outputs from a flow. |
HTTP task | A request submitted to a third-party server as part of a plan run. |
Slack task | Send a message with information about the plan run to a specified Slack channel. |
Delete task | Delete files and folders from backend data storage. |
Limitations
You cannot specify parameter overrides to be applied to plans specifically.
Plans inherit parameter values from the objects referenced in the plan's tasks.
If overrides are applied to flow parameters, those overrides are passed to the plan at the time of flow execution.
Tip
Prior to plan execution, you can specify parameter overrides at the flow level. These values are passed through to the plan for execution. For more information, see Manage Parameters Dialog for Plans.
Basic Task
You create a plan and schedule it using the following basic task.
Create the plan. A plan is the container for definition of the tasks, triggers, and other objects. See Plans Page.
In Plan View, you specify the objects that are part of your plan. See Plan View Page.
Schedule: The schedule defines the set of triggers that queue the plan for execution.
Trigger: A trigger defines the schedule and frequency at which the plan is executed. A plan can have multiple triggers (e.g. monthly versus weekly executions).
Task(s): Next, you specify the tasks that are executed in order.
Flow task: A flow task includes the specification of the flow to run and the outputs from the flow to generate.
Note
You can select the outputs from the recipe that you wish to generate. You do not need to generate all outputs.
Note
When a flow task is executed, the execution plan works back from the selected outputs to execute all of the recipes required to generate the output, including the upstream dependencies of those recipes.
HTTP task: An HTTP task is a request issued when it is triggered from the application to a target endpoint. This request supports a variety of API methods. See Plan View for HTTP Tasks.
Slack task: A Slack task is a message between the Designer Cloud Powered by Trifacta platform and a specified Slack channel that is triggered within the plan. See Plan View for Slack Tasks.
Delete task: A Delete task deletes specific files or folders from backend storage. See Plan View for Delete Tasks.
Continue building tasks in a sequence.
As needed, you can apply override values to any flow parameters that are included in the tasks of your recipe. These overrides are applied during a plan run. For more information, see Manage Parameters Dialog for Plans.
To test:
Click Run now.
To track progress, click the Runs link.
In the Run Details page, you can track the progress.
The first task is executed and completes, before the second task is started.
Individual tasks are executed as separate jobs, which you can track through the Job History page. See Job History Page.
When the plan has completed, you can verify the results through the Job details page. See Job Details Page.
If you are satisfied with the plan definition and your test run, the plan will execute according to the scheduled trigger.
Plan Scheduling
Through the Plan View page, you can configure the scheduled executions of the plan. Plan schedules are defined using triggers.
These schedules are independent of schedules for individual flows.
You cannot create schedules for individual tasks.
Plan Execution
When a plan is triggered for execution, a snapshot of the plan is taken. This snapshot is used to execute the plan. Tasks are executed in the sequence listed in Plan View.
Important notes:
Note
Any subsequent changes to the flows, datasets, recipes, and outputs referenced in the plan's tasks can affect subsequent executions of the plan. For example, subsequent removal of a dataset in a flow referenced in a task can cause the task to fail to execute properly.
At the flow level, you can define webhooks and email notifications that are triggered based on the successful generation of outputs. When you execute a plan containing an output with one of these messages, the message is triggered and delivered to stakeholders.
Note
Webhook messages and email notification cannot be directly triggered based on a plan's execution. However, you can create HTTP-based tasks to send messages based on a plan task's execution.
Tip
When a flow email notification is triggered through a plan, the internal identifier for the plan is included in the email.
See "Webhooks" and "Email notifications" above.
Enable
Enable the following setting:
Plans feature
Plan sharing, import, and export must also be enabled.For more information, see Workspace Settings Page.
The following flags must be enabled for the orchestration service to correctly function.
Steps:
You can apply this change through the Admin Settings Page (recommended) or
trifacta-conf.json
. For more information, see Platform Configuration Methods.Locate the following settings. Verify that they are set to
true
:"webapp.orchestrationWorkers.enabled": true, "orchestration-service.enabled": true, "orchestration-service.autoRestart": true,
You can choose to enable the following task types:
Task type
Setting
Description
HTTP task
feature.orchestration.httpTasks.enabled
When
true
, you can configure plan tasks to deliver a REST request over HTTP or HTTPS to a specified endpoint, including endpoints in the Designer Cloud Powered by Trifacta platform.Slack task
feature.orchestration.slackTask.enabled
When
true
, you can configure plan tasks to deliver messages to a specified Slack channel.Delete task
feature.orchestration.deleteFileTask.enabled
When
true
, you can configure plan tasks to delete files or folders from backend data storage.feature.orchestration.deleteFileTask.maxFiles
By default, the maximum number of files that can be matched for deletion is
100
. You can modify this value if needed.Note
This setting is intended as a safety measure to prevent runaway deletion of a large number of files. Modify this value only if necessary.
Email task
feature.orchestration.emailTask.enabled
This feature is not yet available.
Flow task
This feature is automatically enabled when
Plans feature
is enabled. See above.These tasks execute a specific output on a selected flow.
Save your changes and restart the platform.
Logging
For more information on debugging plans, see Diagnose Failed Plan Runs.
Logging information on plan execution is captured in the orchestration-service.log
. This log file can be downloaded as part of a Support Bundle. For more information, see Support Bundle Contents.
You can configure aspects of how this log captures service events. For more information, seeConfigure Logging for Services.