Ejemplo n.º 1
0
    def _setup(self):
        WranglerServer._setup(self)
        self._register_timeout('update-queue', 20.0)

        #Register API Functions
        self.server.register_function(self.next_task, "next_task")
        self.server.register_function(self.pulse, "pulse")

        #Register Interface Functions
        for func_name in wrangler.lassod.interface._api_:
            func = wrangler.lassod.interface.__dict__[func_name]
            if callable(func):
                self.server.register_function(self._decorate_interface(func), func_name)
Ejemplo n.º 2
0
    def _setup(self):
        WranglerServer._setup(self)

        self.client = LassoClient()
        self.running_tasks = {}
        self.max_tasks = self.config.getint('cattle', 'max-tasks')

        self._state = self.ASLEEP

        #Setup Handlers
        self._handles.append(self._handle_metrics)
        self._handles.append(self._handle_pulse)
        #self._handles.append(self._handle_monitor)

        #Setup Timeouts
        self._register_timeout('metrics', self.config.getfloat('cattle', 'metric-frequency'))
        self._register_timeout('task-request', self.config.getfloat('cattle', 'idle'))
        self._register_timeout('pulse', 15.0)
        self._no_tasks = False

        #Thread Locks
        self.num_thread_lock = thread.allocate_lock()

        #Register XMLRPC calls
        self.server.register_function(self.monitor_connect, 'monitor_connect')
        self.server.register_function(self.monitor_disconnect, 'monitor_disconnect')
        self.server.register_function(self.monitor_probe, 'monitor_probe')
        self.server.register_function(self.monitor_start, 'monitor_start')
        self.server.register_function(self.kill_task, 'kill_task')
        self.server.register_function(self.sleep, 'sleep')
        self.server.register_function(self.wake, 'wake')
        self.server.register_function(self.task_list, 'task_list')
        self.server.register_function(self.state, 'state')

        #Connect to lasso.
        self.cattle = connect_cattle(self.hostname)
        self.wake()