Workflow Management
Viewing Workflows
Navigate to the workflows tab of your application's page on the DBOS Console to see a list of its workflows:

This includes all your application's workflows: those currently executing, those enqueued for execution, those that have completed successfully, and those that have failed. You can filter by time, workflow ID, workflow name, and workflow status (for example, you can search for all failed workflow executions in the past day).
Click on a workflow to see details, including its input and output:

Click "Show Workflow Steps" to view the workflow's execution graph (including the workflow, its steps, and its child workflows and their steps). For example, here is the graph of a workflow that processes multiple tasks concurrently by enqueueing child workflows:

Viewing Queues
Navigate to the queues tab of your application's page to see all currently enqueued workflows.
This page only shows workflows that are currently executing on a queue (PENDING
status) or are enqueued for execution (ENQUEUED
status).
By default, the oldest (first enqueued) workflows are shown first.
You can click on workflows to expand them and see their steps, just as in the workflows page.

Workflow Management
You can manage individual workflows directly from the DBOS console.
Cancelling Workflows
You can cancel any PENDING
or ENQUEUED
workflow.
Cancelling a workflow sets is status to CANCELLED
.
If the workflow is currently executing, cancelling it preempts its execution (interrupting it at the beginning of its next step).
If the workflow is enqueued, cancelling removes it from the queue.
Resuming Workflows
You can resume any ENQUEUED
, CANCELLED
or RETRIES_EXCEEDED
workflow.
Resuming a workflow resumes its execution from its last completed step.
If the workflow is enqueued, this bypasses the queue to start it immediately.
Forking Workflows
You can start a new execution of a workflow by forking it from a specific step. To do this, open the workflow steps view, select a particular step, and click "Fork".
When you fork a workflow, DBOS generates a new workflow with a new workflow ID, copies to that workflow the original workflow's inputs and all its steps up to the selected step, then begins executing the new workflow from the selected step.
Forking a workflow is useful for recovering from outages in downstream services (by forking from the step that failed after the outage is resolved) or for "patching" workflows that failed due to a bug in a previous application version (by forking from the bugged step to an appliation version on which the bug is fixed).