Skip to content
Back to skills

440 Comm Events 3165a77c

ASecurity

@app.post("/start") def start_workflow(): handle = DBOS.start_workflow(long_workflow) return {"workflow_id": handle.get_workflow_id()} @app.get("/status/{workflow_id}") def get_status(workflow_id: str): status = DBOS.get_event(workflow_id, "status", timeout_seconds=0) or "not started" return {"status": status} ``` Get all events from a workflow: ```python all_events = DBOS.get_all_events(workflow_id) ``` Events can be called from `set_event` from workflows or steps. Reference: [Workflow Event...

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
documentationpython

Works with

  • cli

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 440-comm-events_3165a77c --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 440 Comm Events 3165a77c?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 440 Comm Events 3165a77c
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-440-comm-events-3165a77c/badge)](https://www.skillsdirectory.com/skills/tools-only-440-comm-events-3165a77c)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
title: Use Events for Workflow Status Publishing
impact: MEDIUM
impactDescription: Enables real-time workflow status monitoring
tags: events, set_event, get_event, status
---

## Use Events for Workflow Status Publishing

Workflows can publish key-value events that clients can read. Events are persisted and useful for status updates.

**Incorrect (no way to monitor progress):**

```python
@DBOS.workflow()
def long_workflow():
    step_one()
    step_two()  # Client can't see progress
    step_three()
    return "done"
```

**Correct (publishing events):**

```python
@DBOS.workflow()
def long_workflow():
    DBOS.set_event("status", "starting")

    step_one()
    DBOS.set_event("status", "step_one_complete")

    step_two()
    DBOS.set_event("status", "step_two_complete")

    step_three()
    DBOS.set_event("status", "finished")
    return "done"

# Client code to read events
@app.post("/start")
def start_workflow():
    handle = DBOS.start_workflow(long_workflow)
    return {"workflow_id": handle.get_workflow_id()}

@app.get("/status/{workflow_id}")
def get_status(workflow_id: str):
    status = DBOS.get_event(workflow_id, "status", timeout_seconds=0) or "not started"
    return {"status": status}
```

Get all events from a workflow:

```python
all_events = DBOS.get_all_events(workflow_id)
# Returns: {"status": "finished", "other_key": "value"}
```

Events can be called from `set_event` from workflows or steps.

Reference: [Workflow Events](https://docs.dbos.dev/python/tutorials/workflow-communication#workflow-events)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…