Beispiel #1
0
    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))
Beispiel #2
0
    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))
Beispiel #3
0
	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 ) )
Beispiel #4
0
 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))
Beispiel #5
0
	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 ) )
Beispiel #6
0
 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
Beispiel #8
0
 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