def init(self, update=None, lang=None, activatedeps=False): ''' Init pool Set update to proceed to update lang is a list of language code to be updated ''' with self._lock: if not self._started: self.start() with self._locks[self.database_name]: # Don't reset pool if already init and not to update if not update and self._pool.get(self.database_name): return logger.info('init pool for "%s"', self.database_name) self._pool.setdefault(self.database_name, {}) self._modules = [] # Clean the _pool before loading modules for type in self.classes.keys(): self._pool[self.database_name][type] = {} try: restart = not load_modules(self.database_name, self, update=update, lang=lang, activatedeps=activatedeps) except Exception: del self._pool[self.database_name] self._modules = None raise if restart: self.init()
def init(self, update=None, lang=None, installdeps=False): ''' Init pool Set update to proceed to update lang is a list of language code to be updated ''' # AKE: inter-workers communication from trytond import iwc with self._lock: # AKE: inter-workers communication iwc.start() if not self._started: self.start() with self._locks[self.database_name]: # Don't reset pool if already init and not to update if not update and self._pool.get(self.database_name): return logger.info('init pool for "%s"', self.database_name) self._pool.setdefault(self.database_name, {}) # Clean the _pool before loading modules for type in self.classes.keys(): self._pool[self.database_name][type] = {} self._post_init_calls[self.database_name] = [] restart = not load_modules(self.database_name, self, update=update, lang=lang, installdeps=installdeps) if restart: self.init() # AKE: inter-workers communication if update: iwc.broadcast_init_pool(self.database_name)
def init(self, update=False, lang=None): """ Init pool Set update to proceed to update lang is a list of language code to be updated """ logger = logging.getLogger("pool") logger.info('init pool for "%s"' % self.database_name) with self._lock: if not self._started: self.start() with self._locks[self.database_name]: self._pool.setdefault(self.database_name, {}) # Clean the _pool before loading modules for type in self.classes.keys(): self._pool[self.database_name][type] = {} restart = not load_modules(self.database_name, self, update=update, lang=lang) if restart: self.init()
def init(self, update=None, lang=None): ''' Init pool Set update to proceed to update lang is a list of language code to be updated ''' with self._lock: if not self._started: self.start() with self._locks[self.database_name]: # Don't reset pool if already init and not to update if not update and self._pool.get(self.database_name): return logger.info('init pool for "%s"', self.database_name) self._pool.setdefault(self.database_name, {}) # Clean the _pool before loading modules for type in self.classes.keys(): self._pool[self.database_name][type] = {} restart = not load_modules(self.database_name, self, update=update, lang=lang) if restart: self.init()
def init(self, update=None, lang=None): ''' Init pool Set update to proceed to update lang is a list of language code to be updated ''' with self._lock: if not self._started: self.start() with self._locks[self.database_name]: # Don't reset pool if already init and not to update if not update and self._pool.get(self.database_name): return logger.info('init pool for "%s"', self.database_name) self._pool.setdefault(self.database_name, {}) # Clean the _pool before loading modules for type in self.classes.keys(): self._pool[self.database_name][type] = {} self._post_init_calls[self.database_name] = [] restart = not load_modules( self.database_name, self, update=update, lang=lang) if restart: self.init()