MooseStack

Moose Workflows

Cancelling Running Workflows

Cancel a Running Workflow

To stop a workflow before it has finished running, use the workflow cancel command.

Terminal
moose workflow cancel <workflow-name>

Implementing Cancelation Callbacks

For workflows that are running and have clean up operations to perform, you can implement a termination callback.

This is especially useful for any long running tasks that have open connections or subscriptions to other services that need to be closed. You may also use the state within the run/cancel context to supplement your business logic.

workflows/workflows.ts
 
const task1 = new Task<Foo, void>({
  name: "task1",
  run: async (ctx) => {
    connection.open();
  },
  onCancel: async (ctx) => {
    // Clean up any resources
    connection.close();
  },
});
 
const myworkflow = new Workflow({
  name: "myworkflow",
  startingTask: task1,
  retries: 3,
});