Files
Max dml 7e5abd504f feat: add DBOS skills for TypeScript, Python, and Go (#94)
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>
2026-02-17 23:26:51 +01:00

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 database
  • serializer: 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