julee.util.temporal.activities¶
Utilities for working with Temporal activities.
This module provides helper functions for automatically discovering and collecting activity methods from decorated instances, eliminating the need for manual activity registration boilerplate.
Attributes¶
Functions¶
|
Automatically collect all activity methods from decorated instances. |
|
Discover protocol methods that should be wrapped as activities. |
Module Contents¶
- julee.util.temporal.activities.collect_activities_from_instances(*instances)[source]¶
Automatically collect all activity methods from decorated instances.
Uses protocol method discovery to find and collect all methods that have been wrapped as Temporal activities by the @temporal_activity_registration decorator. This ensures we don’t miss any activities and eliminates boilerplate registration code.
- Parameters:
*instances (Any) – Repository and service instances decorated with @temporal_activity_registration
- Returns:
List of activity methods ready for Worker registration
- Return type:
list[Any]
Example
# Instead of manually listing all activities: activities = [
repo.generate_id, repo.save, repo.get, # … many more lines
]
# Use automatic discovery: activities = collect_activities_from_instances(
temporal_assembly_repo, temporal_document_repo, temporal_knowledge_service,
)
- julee.util.temporal.activities.discover_protocol_methods(cls_hierarchy)[source]¶
Discover protocol methods that should be wrapped as activities.
This function finds async methods defined in protocol interfaces within a class hierarchy. It’s used to automatically collect methods that should be registered as Temporal activities.
- Parameters:
cls_hierarchy (tuple[type, Ellipsis]) – The class MRO (method resolution order)
- Returns:
Dict mapping method names to method objects from the concrete class
- Return type:
dict[str, Any]