mirror of
https://github.com/csunny/DB-GPT.git
synced 2026-01-15 23:19:28 +00:00
27 lines
757 B
Python
27 lines
757 B
Python
from abc import ABC, abstractmethod
|
|
from concurrent.futures import Executor, ThreadPoolExecutor
|
|
|
|
from pilot.component import BaseComponent, ComponentType, SystemApp
|
|
|
|
|
|
class ExecutorFactory(BaseComponent, ABC):
|
|
name = ComponentType.EXECUTOR_DEFAULT.value
|
|
|
|
@abstractmethod
|
|
def create(self) -> "Executor":
|
|
"""Create executor"""
|
|
|
|
|
|
class DefaultExecutorFactory(ExecutorFactory):
|
|
def __init__(self, system_app: SystemApp | None = None, max_workers=None):
|
|
super().__init__(system_app)
|
|
self._executor = ThreadPoolExecutor(
|
|
max_workers=max_workers, thread_name_prefix=self.name
|
|
)
|
|
|
|
def init_app(self, system_app: SystemApp):
|
|
pass
|
|
|
|
def create(self) -> Executor:
|
|
return self._executor
|