-
Notifications
You must be signed in to change notification settings - Fork 39
feat: BI-6687 add base temporal worker app #1353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a782890 to
593ccee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a base temporal worker application framework that provides standardized application lifecycle management, HTTP health check endpoints, and integration with Temporal workflow engine.
Key changes:
- Adds singleton decorator utilities for caching function/method results
- Implements base app framework with startup/shutdown/main lifecycle callbacks
- Integrates aiohttp HTTP server with liveness and readiness health probes
- Adds temporal worker application mixins for workflow/activity execution
- Refactors test structure and adds comprehensive integration tests
Reviewed Changes
Copilot reviewed 23 out of 27 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
lib/dl_temporal/pyproject.toml |
Adds dependencies for aiohttp, dl-json, and dl-settings to support new app framework |
lib/dl_temporal/dl_temporal/utils/singleton.py |
Implements singleton decorators for functions and class methods to cache results |
lib/dl_temporal/dl_temporal_tests/utils/test_singleton.py |
Comprehensive tests for singleton decorator functionality |
lib/dl_temporal/dl_temporal/utils/app/base.py |
Core app framework with lifecycle management (startup/shutdown/main) and error handling |
lib/dl_temporal/dl_temporal/utils/app/models.py |
Defines Callback model for app lifecycle hooks |
lib/dl_temporal/dl_temporal/utils/app/exceptions.py |
Custom exceptions for app lifecycle errors |
lib/dl_temporal/dl_temporal/utils/app/__init__.py |
Exports base app utilities (includes incorrect exports) |
lib/dl_temporal/dl_temporal/utils/aiohttp/*.py |
aiohttp integration with health check handlers and response utilities |
lib/dl_temporal/dl_temporal/app/temporal.py |
Temporal worker app mixins for workflow/activity integration |
lib/dl_temporal/dl_temporal/app/aiohttp.py |
HTTP server app mixins with route configuration |
lib/dl_temporal/dl_temporal/app/base.py |
Composition of temporal and HTTP server app functionality |
lib/dl_temporal/dl_temporal_tests/db/app/conftest.py |
Test fixtures for temporal worker app integration tests |
lib/dl_temporal/dl_temporal_tests/db/app/test_handlers.py |
Tests for HTTP health check handlers |
lib/dl_temporal/dl_temporal_tests/db/app/test_worker.py |
Integration test for workflow execution |
lib/dl_temporal/dl_temporal_tests/db/activities.py |
Test activity implementation |
lib/dl_temporal/dl_temporal_tests/db/workflows.py |
Updates import path for activities |
Comments suppressed due to low confidence (3)
lib/dl_temporal/dl_temporal/utils/app/init.py:20
- The name 'BaseCompositeApplication' is exported by all but is not defined.
"BaseCompositeApplication",
lib/dl_temporal/dl_temporal/utils/app/init.py:21
- The name 'BaseCompositeApplicationSettings' is exported by all but is not defined.
"BaseCompositeApplicationSettings",
lib/dl_temporal/dl_temporal/utils/app/init.py:22
- The name 'BaseCompositeApplicationFactory' is exported by all but is not defined.
"BaseCompositeApplicationFactory",
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
593ccee to
2b00a64
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 22 out of 26 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6a2375a to
d61a69e
Compare
d61a69e to
d6fd598
Compare
No description provided.