发现优质的 AI Agent 技能
聚合 Claude Skills、LangChain、AutoGPT 等优质资源,助力开发者快速构建智能应用
dbos-typescript
> **Note:** `CLAUDE.md` is a symlink to this file.
Could run forever!
while not done: process_next() ``` **Correct (with timeout):**
Loading inputs/outputs when not needed is slow
workflows = DBOS.list_workflows(status="PENDING") for w in workflows: print(w.workflow_id) # Only using ID ``` **Correct (optimize with load flags):**
Random number in workflow breaks recovery!
choice = random.randint(0, 1) if choice == 0: step_one() else: step_two()
Wrong: assuming the workflow stopped immediately
cleanup_resources() # May race with workflow still running its current step ``` **Correct (wait for cancellation to complete):**
Never start workflows from inside a step!
DBOS.start_workflow(another_workflow) ``` **Incorrect (modifying global state):**
Long running work
pass thread = threading.Thread(target=long_task, args=(data,)) thread.start() ```
DBOS state from previous test!
result = another_workflow() ``` **Correct (reset fixture):**
For Postgres, use transactions instead of steps
engine.execute("INSERT INTO table VALUES (?)", data) ``` **Correct (using transaction):**
Manual retry logic is error-prone
for attempt in range(3): try: return requests.get("https://api.example.com").json() except Exception: if attempt == 2:
External API call directly in workflow - not checkpointed!
response = requests.get("https://api.example.com/data") return response.json() ``` **Correct (external call in step):**
All tasks treated equally - urgent tasks may wait
for task in tasks: queue.enqueue(process_task, task) ``` **Correct (with priority):**