def put_data(self):
        m = mon()
        atime = int(time.time())
        while 1:
            print '采集线程 ' + self.name + ' try to get lock!'
            if self.ql.acquire():

                # 获得锁之后再运行
                # data = m.runAllGet(agentTest=True)  # 打开调试
                data = m.runAllGet()  # 关闭调试
                self.q.put(data)
                # 计算一下时间,保证采集是 self.interval秒一次的
                print '采集线程 ' + self.name + str(data)
                print '队列大小:' + str(self.q.qsize())

                btime = int(time.time())
                time.sleep(self.interval -
                           ((btime - atime) % self.interval))
                print '采集线程 ' + self.name + ' collect data over!'

                self.ql.release()

            else:
                print '采集线程 ' + self.name + ' get lock failed!'
            if self.q.full():
                print '采集线程 ' + self.name + ' wait for Queue!'
    def put_data(self):
        m = mon()
        atime = int(time.time())
        while 1:
            print '采集线程 ' + self.name + ' try to get lock!'
            if not self.starter.empty():
                取得令牌
                self.starter.get()
                data = m.runAllGet(agentTest=True)  # 打开调试
                # data = m.runAllGet()  # 关闭调试
                self.q.put(data)
                # 计算一下时间,保证采集是 self.interval秒一次的
                print '采集线程 ' + self.name + str(data)
                print '队列大小:' + str(self.q.qsize())

                btime = int(time.time())
                time.sleep(self.interval -
                           ((btime - atime) % self.interval))
                print '采集线程 ' + self.name + ' collect data over!'

                self.ql.release()

            else:
                print '采集线程 ' + self.name + ' 等待令牌!'
            if self.q.full():
                print '采集线程 ' + self.name + ' wait for Queue!'
예제 #3
0
    def put_data(self):
        m = mon()
        atime = int(time.time())
        while 1:

            # data = m.runAllGet(agentTest=True)  # 这里是我们上一章写好的函数
            data = m.runAllGet()  # 开启调试
            self.q.put(data)
            # 计算一下时间,保证采集是 self.interval秒一次的
            btime = int(time.time())
            time.sleep(self.interval - ((btime - atime) % self.interval))
예제 #4
0
    def put_data(self):
        m = mon()
        atime = int(time.time())
        while 1:

            # data = m.runAllGet(agentTest=True)  # 这里是我们上一章写好的函数
            data = m.runAllGet()  # 开启调试
            self.q.put(data)
            # 计算一下时间,保证采集是 self.interval秒一次的
            btime = int(time.time())
            time.sleep(self.interval - ((btime - atime) % self.interval))