Skip to main content

Interface: BaseWorkflowOptions

workflow.BaseWorkflowOptions

Properties

cronSchedule

Optional cronSchedule: string

Optional cron schedule for Workflow. If a cron schedule is specified, the Workflow will run as a cron based on the schedule. The scheduling will be based on UTC time. The schedule for the next run only happens after the current run is completed/failed/timeout. If a RetryPolicy is also supplied, and the Workflow failed or timed out, the Workflow will be retried based on the retry policy. While the Workflow is retrying, it won't schedule its next run. If the next schedule is due while the Workflow is running (or retrying), then it will skip that schedule. Cron Workflow will not stop until it is terminated or cancelled (by returning temporal.CanceledError). https://crontab.guru/ is useful for testing your cron expressions.


memo

Optional memo: Record<string, any>

Specifies additional non-indexed information in result of list workflow. The type of value can be any object that are serializable by DataConverter.


retry

Optional retry: RetryPolicy

Controls how a Workflow Execution is retried.

By default, Workflow Executions are not retried. Do not override this behavior unless you know what you're doing. More information.


searchAttributes

Optional searchAttributes: Record<string, string | number | boolean>

Specifies additional indexed information in result of list workflow. The type of value should be a primitive (e.g. string, number, boolean). For dates, use Date.toISOString()

Values are always converted using defaultPayloadConverter, even when a custom data converter is provided.


workflowIdReusePolicy

Optional workflowIdReusePolicy: WorkflowIdReusePolicy

Specifies server behavior if a completed workflow with the same id exists. Note that under no conditions Temporal allows two workflows with the same namespace and workflow id run simultaneously. ALLOW_DUPLICATE_FAILED_ONLY is a default value. It means that workflow can start if previous run failed or was canceled or terminated. ALLOW_DUPLICATE allows new run independently of the previous run closure status. REJECT_DUPLICATE doesn't allow new run independently of the previous run closure status.