def _on_message(self, message): """ Called when message received, parse message into JSON for processing """ print("RECEIVED on " + self.session_name + ":") message_json = json.loads(message) data = json.dumps(message_json, sort_keys=True, indent=2, separators=(',', ':')) for singleMsg in message_json: print(singleMsg) try: #print(singleMsg['UpdateType'], singleMsg['Fields']) data = singleMsg['Fields'] data_type = singleMsg['UpdateType'] try: self._write_market_data(data, data_type) except: error = traceback.format_exc() print(error) measurement = "refinitiv_" + data_type + "_" + self.ric logger(measurement, error, self.ric) except: pass self._process_message(singleMsg)
def subscribe_tickers(measurement): eth_symbols = symbol_eth() for s in eth_symbols: try: data = deribit.getsummary(s) time.sleep(0.01) write_ticker_data(measurement, data) except Exception as err: error = traceback.format_exc() logger(measurement,error,s)