def new_user(self, type=CERT_CLIENT, block=True, **kwargs): # First attempt to get user from pool then attempt to get # unfinished queued user in pool then queue a new user init if type in (CERT_SERVER, CERT_CLIENT): usr = user.reserve_pooled_user(org=self, type=type, **kwargs) if not usr: usr = queue.reserve('queued_user', org=self, type=type, block=block, **kwargs) if usr: logger.debug('Reserved queued user', 'organization', org_id=self.id, user_id=usr.id, ) else: logger.debug('Reserved pooled user', 'organization', org_id=self.id, user_id=usr.id, ) if usr: user.new_pooled_user(org=self, type=type) return usr usr = user.User(org=self, type=type, **kwargs) usr.queue_initialize(block=block, priority=HIGH if type in (CERT_SERVER, CERT_CLIENT) else None) logger.debug('Queued user init', 'organization', org_id=self.id, user_id=usr.id, ) return usr
def new_user(self, type=CERT_CLIENT, block=True, pool=True, **kwargs): # First attempt to get user from pool then attempt to get # unfinished queued user in pool then queue a new user init if type in (CERT_SERVER, CERT_CLIENT) and pool: usr = user.reserve_pooled_user(org=self, type=type, **kwargs) if not usr: usr = queue.reserve('queued_user', org=self, type=type, block=block, **kwargs) if usr: user.new_pooled_user(org=self, type=type) return usr usr = user.User(org=self, type=type, **kwargs) usr.queue_initialize(block=block, priority=HIGH if type in (CERT_SERVER, CERT_CLIENT) else None) return usr