Add three DBOS SDK skills with reference documentation for building reliable, fault-tolerant applications with durable workflows. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
title, impact, impactDescription, tags
| title | impact | impactDescription | tags |
|---|---|---|---|
| Enqueue Workflows from External Applications | HIGH | Enables decoupled architecture with separate API and worker services | client, enqueue, workflow, external |
Enqueue Workflows from External Applications
Use client.enqueue() to submit workflows from outside the DBOS application. Must specify workflow and queue names explicitly.
Incorrect (missing required options):
from dbos import DBOSClient
client = DBOSClient(system_database_url=db_url)
# Missing workflow_name and queue_name!
handle = client.enqueue({}, task_data)
Correct (with required options):
from dbos import DBOSClient, EnqueueOptions
client = DBOSClient(system_database_url=db_url)
options: EnqueueOptions = {
"workflow_name": "process_task", # Required
"queue_name": "task_queue", # Required
}
handle = client.enqueue(options, task_data)
result = handle.get_result()
client.destroy()
With optional parameters:
options: EnqueueOptions = {
"workflow_name": "process_task",
"queue_name": "task_queue",
"workflow_id": "custom-id-123",
"workflow_timeout": 300,
"deduplication_id": "user-123",
"priority": 1,
}
Limitation: Cannot enqueue workflows that are methods on Python classes.
Reference: DBOSClient.enqueue