Add unit tests for connectors configuration, logger, workflows, and predictions batch - Implement tests for MLflow, OPC, and Postgres configuration builders to validate environment variable handling and default values. - Create tests for the logger to ensure default settings and handler configurations are correct. - Add comprehensive tests for the FormatAndExportPrediction and PredictionProcess workflows, covering various scenarios including path flags and activity execution. - Introduce tests for the PredictionsBatch workflow to verify the execution of local activities and child workflows. - Include a values.yaml file for Kubernetes deployment configuration, specifying image details, service account settings, environment variables, and resource limits.
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from typing import Any
|
|
from logging import Logger
|
|
from temporalio import activity
|
|
from sientia_do.notifications.handlers import NotificationHandler
|
|
|
|
|
|
class BaseActivity:
|
|
def __init__(self, logger: Logger, notification_handler: NotificationHandler):
|
|
self.logger = logger
|
|
self.notification_handler = notification_handler
|
|
|
|
@activity.defn(name="prepare_activity")
|
|
async def prepare_activity(self, input_data: dict[str, Any]):
|
|
"""
|
|
Prepare the activity for the notification handler.
|
|
|
|
Args:
|
|
workflow_name (str): The name of the workflow.
|
|
schedule_name (str): The name of the schedule.
|
|
model_name (str): The name of the model.
|
|
model_id (str): The id of the model.
|
|
"""
|
|
self.notification_handler.base_notification.pipeline_name = input_data['workflow_name']
|
|
self.notification_handler.base_notification.schedule_name = input_data['schedule_name']
|
|
self.notification_handler.base_notification.model_name = input_data['model_name']
|
|
self.notification_handler.base_notification.model_id = input_data['model_id']
|