cancel_strategy/s_l_h_cancel_strategy.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
servers/data_server.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
trade/huaxin/huaxin_trade_record_manager.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
cancel_strategy/s_l_h_cancel_strategy.py
@@ -716,7 +716,7 @@ self.__load_data() def __load_data(self): keys = RedisUtils.keys(self.__get_redis(), "l_down_cancel_rate_human-{}") keys = RedisUtils.keys(self.__get_redis(), "l_down_cancel_rate_human-*") if keys: for k in keys: code = k.split("-")[1] servers/data_server.py
@@ -1244,6 +1244,23 @@ response_data = json.dumps({"code": 0, "data": l2_down_data}) except Exception as e: logger_debug.exception(e) elif url.path == "/get_all_delegate_list": # 获取所有的委托列表 try: ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) update_time = ps_dict.get('update_time') if not update_time: update_time = 0 else: update_time = int(update_time) record_dict = huaxin_trade_record_manager.DelegateRecordManager().get_all_delegate_records_dict() datas = [v for k, v in record_dict.items() if v['localUpdateTime'] > update_time] if datas: datas.sort(key=lambda x: x['insertTime']) update_time = max(datas, key=lambda x: x['localUpdateTime'])['localUpdateTime'] response_data = json.dumps({"code": 0, "data": {'list': datas, 'update_time': update_time}}) except Exception as e: logger_debug.exception(e) async_log_util.info(logger_request_api, f"结束请求{tool.get_thread_id()}-{url}") self.send_response(200) trade/huaxin/huaxin_trade_record_manager.py
@@ -18,6 +18,7 @@ class DelegateRecordManager: # 当前处于委托状态的数据 __current_delegate_records_dict_cache = {} __all_delegate_records_dict_cache = {} mysqldb = mysql_data.Mysqldb() __instance = None __queue = queue.Queue(maxsize=4096) @@ -36,6 +37,11 @@ cls.__current_delegate_records_dict_cache.clear() for d in fresults: cls.__current_delegate_records_dict_cache[d['orderSysID']] = d # 加载所有委托数据 delegates, _ = cls.list_by_day(tool.get_now_date_str("%Y%m%d"), None) # 根据本地订单号映射 for d in delegates: cls.__all_delegate_records_dict_cache[d["orderLocalID"]] = d # 获取当前处于委托状态的订单 def list_current_delegates(self, code=None): @@ -119,10 +125,22 @@ else: if d['orderSysID'] in cls.__current_delegate_records_dict_cache: cls.__current_delegate_records_dict_cache.pop(d['orderSysID']) if d.get("localUpdateTime"): cls.__all_delegate_records_dict_cache[d['orderLocalID']] = d # pass cls.__queue.put_nowait(d) @classmethod def get_all_delegate_records_dict(cls): """ 获取所有的委托记录 @return: """ return cls.__all_delegate_records_dict_cache @classmethod def list_by_day(cls, day, min_update_time, orderStatus=[]): mysqldb = mysql_data.Mysqldb() try: