FaasJS
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security

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}`)