def on_recv_data(self, message): parsed_msg = util.ws_parse( message, trading_date = self.trading_date, to_dict=True ) # 更新redis中行情内容 for data in parsed_msg: try: if data["data_type"] == "orders": self.publish( data = pickle.dumps(data), channel_name = "dHydra.SinaL2." + data["symbol"] + ".orders" ) elif data["data_type"] == "quotation": self.publish( data = pickle.dumps(data), channel_name = "dHydra.SinaL2." + data["symbol"] + ".quotation" ) elif data["data_type"] == "transaction": self.publish( data = pickle.dumps(data), channel_name = "dHydra.SinaL2." + data["symbol"] + ".transaction" ) except Exception as e: self.logger.error(e) self.publish(pickle.dumps(parsed_msg))
def handler(self, event): dt = datetime.now() if not self.raw: event.data = util.ws_parse(message = event.data) if isinstance(event.data, list): for data in event.data: print("PrintSinaL2:{}\n{}".format( dt,data ) ) else: print("PrintSinaL2:{}\n{}".format( dt,event.data ) )
def handler(self, event): dt = datetime.now() if not self.raw: event.data = util.ws_parse(message=event.data) if isinstance(event.data, list): for data in event.data: print("PrintSinaL2:{}\n{}".format(dt, data)) else: print("PrintSinaL2:{}\n{}".format(dt, event.data))
def handler(self, event): dt = datetime.now() if not self.raw: event.data = util.ws_parse( message = event.data, to_dict = self.to_dict ) if isinstance(event.data, list): for data in event.data: self.count += 1 print("PrintSinaL2:{}, \nCount:{}, Length: {}\n{}".format( dt,self.count, len(data),data ) ) else: self.count += 1 print("PrintSinaL2:{}, \nCount:{}, Length: {}\n{}".format( dt,self.count, len(event.data),event.data ) )
def handler(self, event): dt = datetime.now() if not self.raw: event.data = util.ws_parse(message=event.data, to_dict=self.to_dict) if isinstance(event.data, list): for data in event.data: self.count += 1 print("PrintSinaL2:{}, \nCount:{}, Length: {}\n{}".format( dt, self.count, len(data), data)) else: self.count += 1 print("PrintSinaL2:{}, \nCount:{}, Length: {}\n{}".format( dt, self.count, len(event.data), event.data))
def handler(self, event): event.data = util.ws_parse(message=event.data, to_dict=True) for data in event.data: try: self.total += 1 if data["data_type"] == "deal": self.count += 1 result = self.db.stock.l2_deal.insert_one( data) # 自己建立unique索引 elif data["data_type"] == "quotation": self.count += 1 result = self.db.stock.l2_quotation.insert_one( data) # 自己建立unique索引 except Exception as e: self.total += 1
def on_recv_data(self, message): parsed_msg = util.ws_parse(message, to_dict=True) self.publish(parsed_msg) if self.to_mongo: for data in parsed_msg: try: self.total += 1 if data["data_type"] == "transaction": self.count += 1 # 自己建立unique索引 result = self.mongo.stock.l2_deal.insert_one(data) elif data["data_type"] == "quotation": self.count += 1 result = self.mongo.stock.l2_quotation.insert_one( data) # 自己建立unique索引 except Exception as e: self.logger.warning("Insert error:{}".format(e)) self.total += 1