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)