def process_curkline(self, data):
        """k线实时数据推送"""
        # 每一次推送， 只会是同一个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)