Execution settings

This page contains information about execution settings, accessible through the Settings page during configuration of an automation.

Partitioning

If and only if an object condition is defined for an automation (partitioning does not apply for static object set inputs), the objects that trigger an automation can be partitioned into nondeterministic sets of a user-defined size before executing. Overriding this configuration can be helpful in order to prevent undesirable parallelism or function timeouts.

Partitioning

The actual concurrency behavior depends on the execution mode defined for the automation. For example, if 20 objects were to trigger an automation, with a batch size set to 10:

  • If per-object execution is configured, there would be 20 total executions, with 1 set of 10 objects in parallel, followed by a second set of 10 objects in parallel.
  • If batched execution is configured, there would be 2 total executions, with 1 set of 10 objects passed in, followed by the next set of 10 objects.

If this configuration is not overridden, the batch size will be automatically configured to an optimal value depending on the configured execution mode. Additionally, if an action effect with webhooks is configured, and the execution mode is per-object, the batch size will be set to 1 and cannot be overridden.

Concurrency

Automations run independently, and if multiple automations trigger at the same time, they will execute in parallel in a nondeterministic ordering. However, effects for a given automation can be configured to execute in parallel or sequentially.

Sequential effects

In the example above, since the effects are set to execute sequentially, Action 1 will be executed before Action 2. This statement holds regardless of what partitioning settings are configured. For example, if the partition size is 20, and 40 objects trigger the automation, the automation would execute as follows:

  • The first set of 20 objects will trigger Action 1, then...
  • The second set of 20 objects will trigger Action 1, then...
  • The first set of 20 objects will trigger Action 2, then...
  • The second set of 20 objects will trigger Action 2.

The example above will result in 4 total sequential executions.

However, if parallel execution was configured, the automation would execute as follows:

  • The first set of 20 objects will trigger Action 1 + Action 2 in parallel, then...
  • The second set of 20 objects will trigger Action 1 + Action 2 in parallel.

This example results in 4 executions, with 2 sets of 2 in parallel.

Cycles

A sequence of automations can sometimes cause cycles when automations may call each other, resulting in an infinite loop. See cycle detection for more details.

For certain automations, cycle detection may be undesirable. Up to 50 cycles can be allowed by toggling on Allow cycles in the automation settings.

Note that the option to override cycle detection is only available when live monitoring is enabled.

Allow cycles

Dropped objects

You can configure the behavior of the Automate application when the live automation scale limit is reached.

When the Drop objects over the live automation scale limit option is enabled, automation events that are triggered by more than 10,000 objects will trigger effects for the first 10,000 objects and drop the rest, rather than failing.

Note that this option is only available when live monitoring is enabled.

Toggle for "Drop objects over the live automation scale limit"