Skip to main content

Workflows

A workflow is a series of actions that define how a background job should be executed. It includes a trigger, which initiates the workflow, and one or more actions, which are the individual steps that the workflow will perform.

The trigger is the event that starts the workflow. It can be a scheduled event, such as a Cron expression that runs the workflow at specific intervals, or an event-based trigger, such as a webhook (HTTP endpoint) that responds to incoming requests to start the workflow.

Actions are the individual steps that the workflow will perform. They are the code that you want to execute in a Docker container. Actions can be written in any language supported by ExecAPI, such as Python, Node.js, or Bash. Custom commands based on your own Docker image can also be used as actions.

Actions run inside a secure sandbox environment that ensures the code is isolated and secure from other actions that may be running. The sandbox is virtualized and limits the amount of CPU, RAM, and disk space that can be used by the action. If more resources are required to execute an action successfully, you may request to increase the limits.

Overall, workflows in ExecAPI allow you to define the tasks that need to be performed in a background job in a clear and structured way, making it easy to manage and execute complex tasks with ease.

Error Handling & Retries

Workflows are designed to automate complex tasks, but they can still encounter errors or failures. When your workflow encounters a problem, ExecAPI will attempt to reschedule the workflow up to 3 times before ultimately discarding it.

For example, if your workflow is triggered by a Cron expression, and the workflow crashes mid-way, ExecAPI will retry the workflow up to 3 times before discarding it. The logs of the workflow execution are available in the ExecAPI dashboard.