# ===================================================== # Apckeyl Framework # Version 1.0 # example_compute_provider.py # ===================================================== """ Test Compute Provider. Version 1.0 Минимальный Provider для проверки Compute Provider Architecture. Не использует AI. Не использует GPU. Не требует внешних сервисов. """ from typing import Any, Dict # ===================================================== # Example Compute Provider # ===================================================== class ExampleComputeProvider: """ Минимальный тестовый Compute Provider. """ PROVIDER_ID = "example_compute_provider" PROVIDER_NAME = "Example Compute Provider" PROVIDER_VERSION = "1.0" SUPPORTED_TASKS = [ "example_task", ] # ================================================= # Provider Information # ================================================= def get_provider_info(self) -> Dict[str, Any]: return { "provider_id": self.PROVIDER_ID, "provider_name": self.PROVIDER_NAME, "provider_version": self.PROVIDER_VERSION, "status": "available", "supported_tasks": list( self.SUPPORTED_TASKS ), } # ================================================= # Health Check # ================================================= def health_check(self) -> Dict[str, Any]: return { "provider_id": self.PROVIDER_ID, "status": "healthy", } # ================================================= # Task Support # ================================================= def supports_task( self, task_type: str, ) -> bool: return task_type in self.SUPPORTED_TASKS # ================================================= # Execute # ================================================= def execute( self, task: Dict[str, Any], ) -> Dict[str, Any]: task_id = task.get( "task_id" ) task_type = task.get( "task_type" ) payload = task.get( "payload", {}, ) # --------------------------------------------- # Task Validation # --------------------------------------------- if not task_id: return { "task_id": task_id, "status": "error", "result": None, "error": "Missing task_id", } if not task_type: return { "task_id": task_id, "status": "error", "result": None, "error": "Missing task_type", } # --------------------------------------------- # Task Support Validation # --------------------------------------------- if not self.supports_task( task_type ): return { "task_id": task_id, "status": "error", "result": None, "error": ( f"Unsupported task type: " f"{task_type}" ), } # --------------------------------------------- # Example Task # --------------------------------------------- if task_type == "example_task": message = payload.get( "message", "", ) result = { "message": message, "provider": self.PROVIDER_ID, "processed": True, } return { "task_id": task_id, "status": "completed", "result": result, "error": None, } # --------------------------------------------- # Safety Fallback # --------------------------------------------- return { "task_id": task_id, "status": "error", "result": None, "error": ( f"Task execution failed: " f"{task_type}" ), } # ===================================================== # Default Provider Instance # ===================================================== example_compute_provider = ( ExampleComputeProvider() ) # ===================================================== # End of File # =====================================================