def get_simple_strategy( self) -> Union[_RunnableStrategy, _AsyncRunnableStrategy]: __strategy_cls = _ImportMultiRunnable.get_class( pkg_path=self._module, cls_name=self.__strategy_cls_name) __strategy_instance = __strategy_cls(workers_num=self._process_num) # __strategy_instance = cast(Union[RunnableStrategy, AsyncRunnableStrategy], __strategy_instance) return __strategy_instance
def get_communication_adapter( mode: FeatureMode) -> PosixThreadCommunication: __module, __communication_cls_name = _ModuleFactory.get_module( mode=mode, cls="communication") communication_cls = ImportMultiRunnable.get_class( pkg_path=__module, cls_name=__communication_cls_name) return communication_cls()
def __get_instn(): __cls = _ImportMultiRunnable.get_class( pkg_path=".coroutine.utils", cls_name=f"{mode.value.get('class_key')}Waiter") __instance = __cls() return __instance
def get_simple(self) -> _PoolRunnableStrategy: __strategy_cls = _ImportMultiRunnable.get_class( pkg_path=self._module, cls_name=self.__strategy_cls_name) __strategy_instance = __strategy_cls(pool_size=self._pool_size) return __strategy_instance
def get_simple(self) -> _GeneralRunnableStrategy: __strategy_cls = _ImportMultiRunnable.get_class( pkg_path=self._module, cls_name=self.__strategy_cls_name) __strategy_instance = __strategy_cls(executors=self._executors_number) # __strategy_instance = cast(Union[RunnableStrategy, AsyncRunnableStrategy], __strategy_instance) return __strategy_instance
def get_queue_adapter(mode: FeatureMode) -> BaseQueue: __module, __queue_cls_name = _ModuleFactory.get_module(mode=mode, cls="queue") queue_cls = ImportMultiRunnable.get_class(pkg_path=__module, cls_name=__queue_cls_name) return queue_cls
def get_lock_adapter(mode: FeatureMode) -> PosixThreadLock: __module, __lock_cls_name = _ModuleFactory.get_module(mode=mode, cls="lock") lock_cls = ImportMultiRunnable.get_class(pkg_path=__module, cls_name=__lock_cls_name) return lock_cls()