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!'
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))