About Orchestration Groups

An orchestration group is one (or more) orchestrations that are scheduled using a crontab file to define the schedule’s frequency. For example, an orchestration group can be scheduled to run at 8:30 AM every day of the week: 30 8 * * *.

Schedules

A schedule defines the frequency at which an orchestration group runs. All orchestrations in the same orchestration group run as a unit and all tasks must complete before a downstream process can be started. The schedule is defined using cron.

Tip

Amperity workflows are typically run once per day. For the best results for a daily schedule, define only the minute and hour settings. For example: 30 8 * * *.

Important

Some workflows do not require a daily update. Amperity supports running workflows on less frequent basis, such as on a weekly basis. For example, to define a workflow that runs at 8:30 AM every Monday, use a cron string that identifies the day of the week. For example: 30 8 * * 1 where 1 identifies the day of the week (Monday).

About cron

Cron is a time-based job scheduler that uses cron syntax to automate scheduled jobs to run periodically at fixed times, dates, or intervals.

Cron syntax specifies the fixed time, date, or interval at which cron will run. Each line represents a job, and is defined like this:

┌───────── minute (0 - 59)
│ ┌─────────── hour (0 - 23)
│ │ ┌───────────── day of the month (1 - 31)
│ │ │ ┌────────────── month (1 - 12)
│ │ │ │ ┌─────────────── day of the week (0 - 6) (Sunday to Saturday)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * * command to execute

For example, 30 8 * * * represents “run at 8:30 AM every day” and 30 8 * * 0 represents “run at 8:30 AM every Sunday”. Amperity validates your cron syntax and shows you the results. You may also use crontab guru to validate cron syntax.

Time zones

An orchestration group schedule is associated with a time zone. The time zone determines the point at which an orchestration group’s scheduled start time begins, and then how any courier group constraints and offsets are applied.

The time zones that are available for selection in Amperity are modeled after the Google Calendar and are similar to:

(GMT-06:00) Pacific Time
(GMT-07:00) Mountain Time
(GMT-08:00) Central Time
(GMT-09:00) Eastern Time

The time zone that is chosen for an orchestration group schedule should consider every downstream business processes that requires the data and also the time zone(s) in which the consumers of that data will operate.

Tip

Do not create orchestration group schedules that may occur during a daylight savings time transition.

For example, an orchestration group schedule with the cron string of 30 2 * * * and the time zone of “(GMT-08:00) Pacific Time” will run once a day most at 2:30am, except for one day in the spring when it will not run at all and one day in the fall when it will run twice.

This is because American daylight savings time transitions at 2:00 AM, meaning the 2:00 AM hour occurs twice when transitioning out of daylight savings time (Fall) and is skipped altogether when transitioning into daylight savings time (Spring).

Courier group constraints

A courier group constraint is a dependency that an orchestration group has on a courier group. This courier group must run successfully, including loading all data and meeting any SLA requirements. The orchestration group will run only when all courier groups to which the orchestration group has a constraint have run successfully.

Offsets

An offset is a constraint placed on an orchestration group to ensure that all upstream dependencies are processed in a way that meets all SLA requirements. Specifically, by ensuring that each courier group to which the orchestration group has a constraint was able to run successfully and it met all SLA requirements. The offset that is applied to each courier group constraint should provide a long enough duration to ensure there is overlap with the scheduled time range for that courier group.

How-tos

The Destinations tab provides the interface for defining the destinations that may receive data from Amperity, the destinations to which individual segments are sent, and if this workflow is automated.

This section describes tasks related to managing orchestration groups in Amperity:

Add orchestration group

An orchestration group is one (or more) orchestrations that are scheduled using a crontab file to define the schedule’s frequency. For example, an orchestration group can be scheduled to run at 8:30 AM every day of the week: 30 8 * * *.

For more complex workflows, click Add Orchestration Group to combine multiple orchestrations into a single workflow that is scheduled and may apply constraints on courier groups to ensure that all upstream processes are able to run successfully within the window of time required by the orchestration.

To add an orchestration group

  1. From the Destinations tab click Add Orchestration Group. This opens the Add Orchestration Group dialog box.

  2. Enter a name for the orchestration group.

  3. Add a cron string to the Schedule field to define a schedule for the orchestration group.

    A schedule defines the frequency at which an orchestration group runs. All orchestrations in the same orchestration group run as a unit and all tasks must complete before a downstream process can be started. The schedule is defined using cron.

    Cron syntax specifies the fixed time, date, or interval at which cron will run. Each line represents a job, and is defined like this:

    ┌───────── minute (0 - 59)
    │ ┌─────────── hour (0 - 23)
    │ │ ┌───────────── day of the month (1 - 31)
    │ │ │ ┌────────────── month (1 - 12)
    │ │ │ │ ┌─────────────── day of the week (0 - 6) (Sunday to Saturday)
    │ │ │ │ │
    │ │ │ │ │
    │ │ │ │ │
    * * * * * command to execute
    

    For example, 30 8 * * * represents “run at 8:30 AM every day” and 30 8 * * 0 represents “run at 8:30 AM every Sunday”. Amperity validates your cron syntax and shows you the results. You may also use crontab guru to validate cron syntax.

  4. Specify a time zone.

    An orchestration group schedule is associated with a time zone. The time zone determines the point at which an orchestration group’s scheduled start time begins, and then how any courier group constraints and offsets are applied.

    Note

    The time zone that is chosen for an orchestration group schedule should consider every downstream business processes that requires the data and also the time zone(s) in which the consumers of that data will operate.

  5. Click Add a courier group constraint, and then select a courier group from the drop-down list.

    A courier group constraint is a dependency that an orchestration group has on a courier group. This courier group must run successfully, including loading all data and meeting any SLA requirements. The orchestration group will run only when all courier groups to which the orchestration group has a constraint have run successfully.

  6. For each courier group constraint, apply any offsets.

    An offset is a constraint placed on an orchestration group to ensure that all upstream dependencies are processed in a way that meets all SLA requirements. Specifically, by ensuring that each courier group to which the orchestration group has a constraint was able to run successfully and it met all SLA requirements. The offset that is applied to each courier group constraint should provide a long enough duration to ensure there is overlap with the scheduled time range for that courier group.

  7. Click Save.

Run orchestration group

When an orchestration group runs, all orchestrations associated with the group will run. Any courier group constraints and schedule settings will be applied.

To run an orchestration group

  1. From the Destinations tab, open the menu for an orchestration group, and then select Run.

  2. The Status column for the orchestration group will update to say “Waiting to start…”, after which the notifications pane will update to include a notification that shows the status of the orchestration group.

  3. When the orchestration group has run successfully, its status is updated to “Completed”.

Schedule orchestration group

A schedule defines the frequency at which an orchestration group runs. All orchestrations in the same orchestration group run as a unit and all tasks must complete before a downstream process can be started. The schedule is defined using cron.

Tip

Do not create orchestration group schedules that may occur during a daylight savings time transition.

For example, an orchestration group schedule with the cron string of 30 2 * * * and the time zone of “(GMT-08:00) Pacific Time” will run once a day most at 2:30am, except for one day in the spring when it will not run at all and one day in the fall when it will run twice.

This is because American daylight savings time transitions at 2:00 AM, meaning the 2:00 AM hour occurs twice when transitioning out of daylight savings time (Fall) and is skipped altogether when transitioning into daylight savings time (Spring).

To schedule an orchestration group

  1. From the Destinations tab, open the menu for an orchestration group, and then select Edit.

  2. Add a cron string to the Schedule field to define a schedule for the orchestration group.

    A schedule defines the frequency at which an orchestration group runs. All orchestrations in the same orchestration group run as a unit and all tasks must complete before a downstream process can be started. The schedule is defined using cron.

    Cron syntax specifies the fixed time, date, or interval at which cron will run. Each line represents a job, and is defined like this:

    ┌───────── minute (0 - 59)
    │ ┌─────────── hour (0 - 23)
    │ │ ┌───────────── day of the month (1 - 31)
    │ │ │ ┌────────────── month (1 - 12)
    │ │ │ │ ┌─────────────── day of the week (0 - 6) (Sunday to Saturday)
    │ │ │ │ │
    │ │ │ │ │
    │ │ │ │ │
    * * * * * command to execute
    

    For example, 30 8 * * * represents “run at 8:30 AM every day” and 30 8 * * 0 represents “run at 8:30 AM every Sunday”. Amperity validates your cron syntax and shows you the results. You may also use crontab guru to validate cron syntax.