async def do(): loop = asyncio.get_event_loop() client = Client(["localhost:8081"], loop=loop) doer = client.get_doer() while True: logger.debug("doing.... ") try: result = await doer.do({ "type": 'get_candles', "value": { "signatures": { "default": "candle", }, "topic": { "exchange": "huobi", "quote_currency": "usdt", "base_currency": "btc", "timeframe": "1m", }, "start_ts": 1545293880, "end_ts": 1545295020 } }) logger.debug("result: %s", result) except Exception: logger.error("Failed to check: %s", traceback.format_exc()) await asyncio.sleep(5)
async def __repeat_pull(self, topic): while True: try: await self.__pull(topic) except asyncio.TimeoutError: logger.debug("Timeout triggered, pull again...") except Exception: logger.warning("Error occured: %s", traceback.format_exc()) await asyncio.sleep(1)
def on_message(topic): logger.debug("Received topic: %s", topic) while True: msgs = subscriber.recv("topic_0", 8) values = [ int.from_bytes(msg.value, byteorder='little') for msg in msgs ] logger.debug("************Recevied msgs: %s", values) if len(msgs) < 8: break
async def repeat_publish(): client = Client(["localhost:8081", "localhost:8082"], loop=loop) publisher = client.get_publisher() while True: value = int(time.time()) logger.debug("************Publish msg: %s", value) try: await publisher.publish("topic_3", value.to_bytes(8, byteorder='little')) except Exception: logger.error("Failed to encode: %s", traceback.format_exc()) await asyncio.sleep(1)
def receive(action): logger.debug("Received action: %s", action) action.end("nothing")
def __on_error(self, code): logger.debug("Error occured: %s", code) self.notify(Event.ON_ERROR, code) self.notify((Event.ON_ERROR, code), code)
def __on_disconnected(self): logger.debug("Disconnected from endpoint: %s", self.__endpoint) self.notify(Event.ON_DISCONNECTED)