feat: Using Pubsub for message processors#898
Conversation
📜 Docstring Coverage ReportRESULT: PASSED (minimum: 30.0%, actual: 77.4%) Detailed Coverage Report |
📦 Trivy Vulnerability Scan Results
Report Summary
Scan Result Details✅ No vulnerabilities found during the scan for |
📦 Trivy Secret Scan Results
Report Summary
Scan Result Details✅ No secrets found during the scan for |
|
🛠 Docs available at: https://k.atlan.dev/application-sdk/add-message-processor |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
|
🛠 Full Test Coverage Report: https://k.atlan.dev/coverage/application-sdk/pr/898 |
There was a problem hiding this comment.
Pull request overview
This PR introduces Pub/Sub messaging support for message processors using Dapr, enabling applications to subscribe to message topics and process incoming messages through configurable handlers.
Key changes:
- Added Dapr pubsub component configuration with support for both in-memory and Kafka backends
- Introduced
PubSubSubscriptionandBulkSubscribemodels for configuring message subscriptions - Implemented automatic registration of message handler endpoints and Dapr subscription generation
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| components/messaging.yaml | New Dapr pubsub component configuration file with in-memory and commented Kafka configurations |
| components/eventstore.yaml | Minor formatting fix to ensure both webhook URLs remain commented out |
| application_sdk/server/fastapi/models.py | Added BulkSubscribe and PubSubSubscription models to support message subscription configuration |
| application_sdk/server/fastapi/init.py | Integrated messaging subscriptions into server initialization, router registration, and Dapr subscription endpoint |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
firecast
left a comment
There was a problem hiding this comment.
We also need docs on how can the handlers be written and a typedefinition defined for it as arguments so that handlers are specific
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
application_sdk/server/fastapi/init.py:127
- The docstring for the init method is incomplete. It only documents three parameters (lifespan, handler, workflow_client) but the method signature includes additional parameters: frontend_templates_path, ui_enabled, has_configmap, and the newly added messaging_subscriptions. All parameters should be documented in the Args section of the docstring for clarity and maintainability.
"""Initialize the FastAPI application.
Args:
lifespan: Optional lifespan manager for the FastAPI application.
handler: Handler for processing application operations.
workflow_client: Client for Temporal workflow operations.
"""
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add Subscription model with BulkConfig and MessageStatus nested classes - Rename PubSubSubscription to Subscription with simplified field names - Add subscription routes under /subscriptions/v1 prefix - Support sync and async message handlers - Add bulk subscribe configuration with Dapr-compatible serialization - Add dead letter topic support - Add comprehensive unit tests for subscription functionality - Update server documentation
335ae94 to
227bbcf
Compare
📦 Example workflows test results
|
📦 Example workflows test results
|
📦 Example workflows test results
|
Changelog
APP-9587 : Using Pubsub for message processors
Scope
Sample app Pr - atlanhq/atlan-sample-apps#119
Additional context (e.g. screenshots, logs, links)
Checklist
Copyleft License Compliance