コード例 #1
0
 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()
コード例 #2
0
ファイル: pool.py プロジェクト: manalaboutayeb/trytond
    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)
コード例 #3
0
 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()
コード例 #4
0
ファイル: pool.py プロジェクト: kret0s/gnuhealth-live
 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()
コード例 #5
0
ファイル: pool.py プロジェクト: AdrienBenduc/trytond
 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()