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 / runWorkflowStep

Function: runWorkflowStep()

runWorkflowStep(workflow, options?): Promise<RunWorkflowStepResult>

Claim and execute at most one runnable step for a workflow definition.

Parameters

workflow

WorkflowDefinition

Workflow definition.

options?

RunWorkflowStepOptions = {}

Optional claim restrictions and lease settings.

Returns

Promise<RunWorkflowStepResult>

Example

import { defineJob } from '@faasjs/jobs'
import { runWorkflowStep } from '@faasjs/workflow'

import { orderWorkflow } from '../workflows/order'

export default defineJob({
  async handler() {
    const result = await runWorkflowStep(orderWorkflow, {
      workerId: 'order-worker',
      leaseSeconds: 60,
    })

    if (!result.claimed) return

    console.log(`Ran step ${result.stepId} for workflow ${result.workflowId}`)
  },
})