code: def process_curkline(self, data):
          
          # 每一次推送， 只会是同一个symbole + kltype
          bars_data = []
          symbol = ""
          ktype = ""
          for ix, row in data.iterrows():
              symbol = row['code']
              ktype = row['k_type']
              bar = TinyBarData()
              bar.open = row['open']
              bar.close = row['close']
              bar.high = row['high']
              bar.low = row['low']
              bar.volume = row['volume']
              bar.symbol = symbol
              # with GLOBAL.dt_lock:
              bar.datetime = datetime.strptime(str(row['time_key']), "%Y-%m-%d %H:%M:%S")
  
              bars_data.append(bar)
              # print('process_curkline - ktype=%s symbol=%s' % (ktype, symbol))
  
          if not bars_data or not symbol or not ktype:
              return
  
          """这个回调是在异步线程， 使用event抛到框架数据处理线程中"""
          event = Event(type_=EVENT_CUR_KLINE_PUSH)
          event.dict_['bars_data'] = bars_data
          event.dict_['symbol'] = symbol
          event.dict_['ktype'] = ktype
          self._event_engine.put(event)
docs: k线实时数据推送