Orchestrator / compute_provider_executor.py
evgeniy778's picture
Create compute_provider_executor.py
e30e9ce verified
Raw
History Blame Contribute Delete
1.8 kB
# =====================================================
# Apckeyl Framework
# Version 1.0
# compute_provider_executor.py
# =====================================================
"""
Compute Provider Executor.
Version 1.0
"""
class ComputeProviderExecutor:
def __init__(self, manager):
if manager is None:
raise ValueError(
"Manager is required"
)
self.manager = manager
# =================================================
# Execute Task
# =================================================
def execute(self, task):
if task is None:
return {
"task_id": None,
"status": "error",
"result": None,
"error": "Task is required",
}
task_type = task.get(
"task_type"
)
if not task_type:
return {
"task_id": task.get(
"task_id"
),
"status": "error",
"result": None,
"error": "Missing task_type",
}
provider = (
self.manager.select_provider(
task_type
)
)
if provider is None:
return {
"task_id": task.get(
"task_id"
),
"status": "error",
"result": None,
"error": (
"No provider available "
f"for task type: {task_type}"
),
}
return provider.execute(
task
)
# =====================================================
# End of File
# =====================================================