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.6 KiB
1.6 KiB
title, impact, impactDescription, tags
| title | impact | impactDescription | tags |
|---|---|---|---|
| Initialize DBOSClient for External Access | HIGH | Enables external applications to interact with DBOS | client, setup, initialization, external |
Initialize DBOSClient for External Access
Use DBOSClient to interact with DBOS from external applications (API servers, CLI tools, etc.).
Incorrect (no cleanup):
from dbos import DBOSClient
client = DBOSClient(system_database_url=db_url)
handle = client.enqueue(options, data)
# Connection leaked - no destroy()!
Correct (with cleanup):
import os
from dbos import DBOSClient
client = DBOSClient(
system_database_url=os.environ["DBOS_SYSTEM_DATABASE_URL"]
)
try:
handle = client.enqueue(options, data)
result = handle.get_result()
finally:
client.destroy()
Constructor parameters:
system_database_url: Connection string to DBOS system databaseserializer: Must match the DBOS application's serializer (default: pickle)
API Reference
Beyond enqueue, DBOSClient mirrors the DBOS API. Use the same patterns from other reference files:
| DBOSClient method | Same as DBOS method |
|---|---|
client.send() |
DBOS.send() - add idempotency_key for exactly-once |
client.get_event() |
DBOS.get_event() |
client.read_stream() |
DBOS.read_stream() |
client.list_workflows() |
DBOS.list_workflows() |
client.cancel_workflow() |
DBOS.cancel_workflow() |
client.resume_workflow() |
DBOS.resume_workflow() |
client.retrieve_workflow() |
DBOS.retrieve_workflow() |
Reference: DBOSClient