def add_service(self, cls, worker_ctx_cls=WorkerContext): """ Add a service class to the runner. There can only be one service class for a given service name. Service classes must be registered before calling start() """ service_name = get_service_name(cls) container = self.container_cls(cls, worker_ctx_cls, self.config) self.service_map[service_name] = container
def add_service(self, cls): """ Add a service class to the runner. There can only be one service class for a given service name. Service classes must be registered before calling start() """ service_name = get_service_name(cls) container = self.container_cls(cls, self.config) self.service_map[service_name] = container
def test_get_service_name(): class Service(): name = "str" class UnicodeService(): name = u"unicøde" class BadNameService(): name = object() class AnonymousService(): pass assert get_service_name(Service) == "str" assert get_service_name(UnicodeService) == u"unicøde" with pytest.raises(ConfigurationError) as exc_info: get_service_name(BadNameService) assert str(exc_info.value) == ( 'Service name attribute must be a string ' '(test.test_container.BadNameService.name)' ) with pytest.raises(ConfigurationError) as exc_info: get_service_name(AnonymousService) assert str(exc_info.value) == ( 'Service class must define a `name` attribute ' '(test.test_container.AnonymousService)' )
def add_service(self, cls, worker_ctx_cls=None): """ Add a service class to the runner. There can only be one service class for a given service name. Service classes must be registered before calling start() """ if worker_ctx_cls is not None: warnings.warn( "The signature of `add_service` has changed. " "The `worker_ctx_cls` kwarg is now deprecated. See CHANGES, " "version 2.4.0 for more details. THis wanring will be removed " "in version 2.6.0.", DeprecationWarning) service_name = get_service_name(cls) container = self.container_cls(cls, self.config, worker_ctx_cls) self.service_map[service_name] = container
def add_service(self, cls, worker_ctx_cls=None): """ Add a service class to the runner. There can only be one service class for a given service name. Service classes must be registered before calling start() """ if worker_ctx_cls is not None: warnings.warn( "The signature of `add_service` has changed. " "The `worker_ctx_cls` kwarg is now deprecated. See CHANGES, " "version 2.4.0 for more details. THis wanring will be removed " "in version 2.6.0.", DeprecationWarning ) service_name = get_service_name(cls) container = self.container_cls(cls, self.config, worker_ctx_cls) self.service_map[service_name] = container