if leastLoadedEngine is None: logger.debug('no engine is active') return userScript = {User.NAME : userName,\ User.CREATOR : cons.DEFAULT_CREATOR,\ User.FPART : leastLoadedEngine.partition,\ User.FFNAME : self.get(User.FFNAME),\ User.FGENDER : self.get(User.FGENDER),\ User.FLNAME : self.get(User.FLNAME),\ User.FMName : self.get(User.FMName),\ User.FPASSWORD : self.get(User.FPASSWORD),\ User.FYEAR : int(self.get(User.FYEAR, '1900'))} user = monkapi.create_user(userScript) leastLoadedEngine.add_user(userName) logger.debug('{} add user {}'.format(leastLoadedEngine.name, leastLoadedEngine.users)) taskT(AddUser) class DeleteUser(Task): def act(self): userName = self.get(User.NAME, '') if not userName or not monkapi.delete_user(userName): logger.info('trying to delete non-existant user {}'.format(userName)) else: logger.debug('{} deleted'.format(userName)) taskT(DeleteUser) class UpdateUser(Task): def act(self): userName = self.get(User.NAME, '') if not userName: logger.error('empty user name {}'.format(self.decodedMessage))
self.MAINTAIN_INTERVAL = config.workerMaintainInterval self.POLL_INTERVAL = config.workerPollInterval self.EXECUTE_INTERVAL = config.workerExecuteInterval self.MAX_QUEUE_SIZE = config.workerMaxQueueSize self.adminBroker.register_worker(self.serverName, offsetSkip=config.workerConsumerOffsetSkip) return [self.adminBroker, self.workerBroker] worker = MonkWorker() class Train(Task): def act(self): monkapi.train(self.turtleName, self.userName) #leader = monkapi.get_leader(self.turtleName, self.userName) #worker.workerBroker.merge(leader, self.turtleName, self.userName) taskT(Train) class Merge(Task): def act(self): follower = self.get('follower') monkapi.merge(self.turtleName, self.userName, follower) #if monkapi.merge(self.turtleName, self.userName, follower): #for follower in monkapi.get_followers(self.turtleName, self.userName): #worker.workerBroker.train(follower, self.turtleName) taskT(Merge) class Reset(Task): def act(self): logger.debug('reset turtle {} for user {}'.format(self.turtleName, self.userName)) monkapi.reset(self.turtleName, self.userName) taskT(Reset)
self.adminBroker.register_worker( self.serverName, offsetSkip=config.workerConsumerOffsetSkip) return [self.adminBroker, self.workerBroker] worker = MonkWorker() class Train(Task): def act(self): monkapi.train(self.turtleName, self.userName) #leader = monkapi.get_leader(self.turtleName, self.userName) #worker.workerBroker.merge(leader, self.turtleName, self.userName) taskT(Train) class Merge(Task): def act(self): follower = self.get('follower') monkapi.merge(self.turtleName, self.userName, follower) #if monkapi.merge(self.turtleName, self.userName, follower): #for follower in monkapi.get_followers(self.turtleName, self.userName): #worker.workerBroker.train(follower, self.turtleName) taskT(Merge) class Reset(Task):
userScript = {User.NAME : userName,\ User.CREATOR : cons.DEFAULT_CREATOR,\ User.FPART : leastLoadedEngine.partition,\ User.FFNAME : self.get(User.FFNAME),\ User.FGENDER : self.get(User.FGENDER),\ User.FLNAME : self.get(User.FLNAME),\ User.FMName : self.get(User.FMName),\ User.FPASSWORD : self.get(User.FPASSWORD),\ User.FYEAR : int(self.get(User.FYEAR, '1900'))} user = monkapi.create_user(userScript) leastLoadedEngine.add_user(userName) logger.debug('{} add user {}'.format(leastLoadedEngine.name, leastLoadedEngine.users)) taskT(AddUser) class DeleteUser(Task): def act(self): userName = self.get(User.NAME, '') if not userName or not monkapi.delete_user(userName): logger.info( 'trying to delete non-existant user {}'.format(userName)) else: logger.debug('{} deleted'.format(userName)) taskT(DeleteUser)
try: value = float(self.get('value')) except: self.warning(logger, 'no valid value set') return try: t = float(self.get('time')) except: self.warning(logger, 'no valid time set') return user = self.get('user') if key not in monitor.trackers: monitor.trackers[key] = Tracker() tracker = monitor.trackers[key] tracker.add(t, value, user) taskT(Track) class ResetTracker(Task): def act(self): key = self.name if not key: self.warning(logger, 'no valid tracking name set') return if key in monitor.trackers: monitor.trackers[key].clear() taskT(ResetTracker) class RenameTracker(Task): def act(self): key = self.name if not key: