Skip to main content

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.

  1. Create the plan. A plan is the container for definition of the tasks, triggers, and other objects. See Plans Page.

  2. In Plan View, you specify the objects that are part of your plan. See Plan View Page.

    1. Schedule: The schedule defines the set of triggers that queue the plan for execution.

      1. 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).

    2. Task(s): Next, you specify the tasks that are executed in order.

      1. 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.

        See Plan View for Flow Tasks.

      2. 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.

      3. 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.

      4. Delete task: A Delete task deletes specific files or folders from backend storage. See Plan View for Delete Tasks.

      5. Continue building tasks in a sequence.

  3. 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.

  4. To test:

    1. Click Run now.

    2. To track progress, click the Runs link.

    3. In the Run Details page, you can track the progress.

    4. The first task is executed and completes, before the second task is started.

    5. Individual tasks are executed as separate jobs, which you can track through the Job History page. See Job History Page.

    6. When the plan has completed, you can verify the results through the Job details page. See Job Details Page.

  5. 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:

  1. You can apply this change through the Admin Settings Page (recommended) or trifacta-conf.json. For more information, see Platform Configuration Methods.

  2. Locate the following settings. Verify that they are set to true:

    "webapp.orchestrationWorkers.enabled": true,
    "orchestration-service.enabled": true,
    "orchestration-service.autoRestart": true,
  3. 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.

  4. 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.