def runAction(self, message): if not message.timeout: self.timeout = None return None self.timeout = message.timeout / float(self.maxExchanges) thMisc = threadbase.ThreadBase.threadManager['Misc'] # Fetch data from both exchanges on first run if not self.timeLast: self.timeLast = time.clock() for exchangeId in self.exchanges: miscMsg = Message(action='getAllMarkets') miscMsg.exchangeId = exchangeId thMisc.passMessage(miscMsg) return None timeNow = time.clock() timeSpan = timeNow - self.timeLast if timeSpan < self.timeout: # Time gone is less than set timeout # re-set timeout to the remaining time # and go self.timeout -= timeSpan return None # the elapsed time is greater or equal than timeout self.timeLast = timeNow miscMsg = Message(action='getAllMarkets') self.lastExchange += 1 if self.lastExchange == self.maxExchanges: self.lastExchange = 0 miscMsg.exchangeId = self.exchanges[self.lastExchange] thMisc.passMessage(miscMsg) return None
def GetCurrentBets(self, exchangeId): message = Message(action='getCurrentBets') message.exchangeId = exchangeId self.thMisc.passMessage(message)
def GetAllMarkets(self, exchangeId, **kwargs): message = Message(action='getAllMarkets', **kwargs) message.exchangeId = exchangeId self.thMisc.passMessage(message)