julee.util.temporal.activities ============================== .. py:module:: julee.util.temporal.activities .. autoapi-nested-parse:: 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 ---------- .. autoapisummary:: julee.util.temporal.activities.logger Functions --------- .. autoapisummary:: julee.util.temporal.activities.collect_activities_from_instances julee.util.temporal.activities.discover_protocol_methods Module Contents --------------- .. py:function:: collect_activities_from_instances(*instances) 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. :param \*instances: Repository and service instances decorated with @temporal_activity_registration :returns: List of activity methods ready for Worker registration .. admonition:: 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, ) .. py:function:: discover_protocol_methods(cls_hierarchy) 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. :param cls_hierarchy: The class MRO (method resolution order) :returns: Dict mapping method names to method objects from the concrete class .. py:data:: logger