Skip to main content

Start Timeout Configuration

The StartTimeoutConfiguration class defines the configuration settings for handling start timeouts in step executions. It specifies how the system should respond when a step fails to start within the expected duration.

Fields

FieldTypeDescription
durationlongThe maximum duration (in milliseconds) to wait for a step to start before triggering a timeout.
actionStepErrorActionThe action to perform when a timeout occurs (FAIL, RETRY, or NONE).
runRequestProcessRequestThe request details to initiate a new process run if a retry is required.
retryIntervallongThe interval (in milliseconds) between retry attempts.
retryBackoffExponentialbooleanIndicates whether to use exponential backoff for retry intervals.
retryCountintThe number of retry attempts allowed after a timeout occurs.

StepErrorAction Enum

The StepErrorAction enum defines the possible actions to take when a step encounters an error during execution.

Enum Values

ActionDescription
FAILMarks the step as failed and stops the process execution.
RETRYAttempts to retry the step based on the configured retry policies.
NONETakes no action, allowing the process to continue despite the error.

ProcessRequest

The ProcessRequest class encapsulates the details required to initiate a new process run. It includes metadata and input parameters necessary for executing the process.

FieldTypeDescription
nameStringThe name of the process to be executed.
namespaceStringThe namespace under which the process is categorized.
versionIntegerThe version number of the process definition.
idStringA unique identifier for the process run.
correlationIdStringAn identifier used to correlate related process runs or events.
inputMap<String, Object>A map of input parameters provided to the process during initiation.

How does Start Timeout work?

  1. Initial Check:

    • The system retrieves the StepContext after a specified start timeout to check the step's execution status.
  2. Determine Action:

    • If the step is still pending or not started, the StartTimeoutConfiguration determines whether to retry, fail, or take no action based on the action field.
  3. Execute Action:

    • Retry: Reschedules the step execution after the specified retryInterval, optionally using exponential backoff, and increments the retryCount.
    • Fail: Marks the step as failed, possibly marking the process as failed depending on other settings
    • None: Leaves the step as is, allowing the process to continue without interruption (useful to just trigger a run request and continue)