Skip to content

Migrate from programmatic to streaming pub/sub subscriptions #348

@sicoyle

Description

@sicoyle

Current Implementation

dapr-agents currently uses programmatic subscriptions with push-based delivery via the Dapr Python SDK's subscribe_with_handler method. The subscription logic is implemented in:

  • dapr_agents/workflow/utils/registration.py (line 243: default subscription method, lines 490-495: subscription creation)

Proposed Change

Migrate to streaming subscriptions to:

  • Eliminate the need to expose application ports for message delivery
  • Reduce infrastructure overhead
  • Improve reliability through persistent connections
  • Enable runtime subscription/unsubscription capabilities

Streaming subscriptions use a persistent gRPC connection between the application and Dapr sidecar, allowing the application to pull messages rather than receiving push-based HTTP/gRPC calls.

References

Metadata

Metadata

Assignees

Type

Projects

Status

We're Working On It

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions