Documents / @faasjs/workflow / runWorkflow
Function: runWorkflow()
runWorkflow<
TSteps,TRoot,TSchemas>(workflow,input,options?):Promise<RunWorkflowResult>
Run a workflow until it completes, fails, or is cancelled.
Type Parameters
TSteps
TSteps extends WorkflowSteps
TRoot
TRoot extends string
TSchemas
TSchemas extends WorkflowStepSchemas | undefined = undefined
Parameters
workflow
WorkflowDefinition<TSteps, TRoot, TSchemas>
Workflow definition.
input
RunWorkflowInput<WorkflowStepParams<TSchemas, TRoot>>
Params for a new workflow or workflow id to resume.
options?
RunWorkflowOptions = {}
Loop limits and lease settings.
Returns
Promise<RunWorkflowResult>
Example
import { runWorkflow } from '@faasjs/workflow'
import { orderWorkflow } from './workflows/order'
const result = await runWorkflow(
orderWorkflow,
{
params: {
orderId: 'order_001',
},
},
{
maxSteps: 20,
timeoutMs: 30_000,
},
)
console.log(`Workflow ${result.workflowId} finished as ${result.status}`)