コード例 #1
0
ファイル: logging.py プロジェクト: tf198/wishbone
    def __log(self, level, message):

        event = Event(self.name)
        event.data = Log(time(), level, getpid(), self.name, message)

        while True:
            try:
                self.logs.put(event)
                break
            except QueueFull:
                sleep(0.1)
コード例 #2
0
ファイル: actor.py プロジェクト: tf198/wishbone
    def metricProducer(self):
        '''A greenthread which collects the queue metrics at the defined interval.'''

        self.__run.wait()
        hostname = socket.gethostname()
        while self.loop():
            for queue in self.pool.listQueues(names=True):
                for metric, value in self.pool.getQueue(queue).stats().iteritems():
                    event = Wishbone_Event(self.name)
                    event.data = Metric(time=time(), type="wishbone", source=hostname, name="module.%s.queue.%s.%s" % (self.name, queue, metric), value=value, unit="", tags=())
                    self.submit(event, self.pool.queue.metrics)
            sleep(self.frequency)