示例#1
0
    def start(self):
        """Start the event loop."""
        def keyboard_interrupt(s, f):
            print("KeyboardInterrupt (ID: {}) has been caught. Cleaning up...".format(s))
            self.loop.stop()
        signal.signal(signal.SIGINT, keyboard_interrupt)

        log.info("start io loop ...", caller=self)
        self.loop.run_forever()
示例#2
0
 def stop(self):
     """Stop the event loop."""
     log.info("stop io loop.", caller=self)
     self.loop.stop()
示例#3
0
 def subscribe(self, market_type, platform, symbol, callback):
     self.ev = EventServer()
     key = f"{platform}.{symbol}"
     self.ev.subscribe(market_type, callback, key)
     log.info(f"{market_type},{key},订阅成功!")
示例#4
0
def orderbookcallback(ch, method, properties, data):
    e = Event()
    e.loads(data)
    log.info(f"Orderbook data:{e.data}")
示例#5
0
def tickcallback(ch, method, properties, data):
    e = Event()
    e.loads(data)
    log.info(f"Tick data:{e.data}")
示例#6
0
 def publish(self,event):
     log.info(f"publish exchange:{event.exchange},key:{event.routing_key},data{event.data}")
     data = event.dumps()
     self._channel.basic_publish(exchange=event.exchange,
                           routing_key=event.routing_key,
                           body=data)