tskwvr / taskweaver /module /execution_service.py
TRaw's picture
Upload 297 files
3d3d712
import os
from typing import Optional
from injector import Module, provider
from taskweaver.ces import code_execution_service_factory
from taskweaver.ces.common import Manager
from taskweaver.config.module_config import ModuleConfig
class ExecutionServiceConfig(ModuleConfig):
def _configure(self) -> None:
self._set_name("execution_service")
self.env_dir = self._get_path(
"env_dir",
os.path.join(self.src.app_base_path, "env"),
)
class ExecutionServiceModule(Module):
def __init__(self) -> None:
self.manager: Optional[Manager] = None
@provider
def provide_executor_manager(self, config: ExecutionServiceConfig) -> Manager:
if self.manager is None:
self.manager = code_execution_service_factory(
config.env_dir,
)
return self.manager