Exemplo n.º 1
0
            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))
Exemplo n.º 2
0
        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)
Exemplo n.º 3
0
        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):
Exemplo n.º 4
0
            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: