From 1bd4e57aada5b4d3decf0d4088fc949c819d7864 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 05 十一月 2024 15:03:31 +0800 Subject: [PATCH] 刪除同花顺时代的代码 --- servers/server.py | 248 ------------------------------------------------ 1 files changed, 4 insertions(+), 244 deletions(-) diff --git a/servers/server.py b/servers/server.py index 0c1370f..ee9194d 100644 --- a/servers/server.py +++ b/servers/server.py @@ -14,23 +14,19 @@ from utils import alert_util, data_process, global_util, ths_industry_util, tool, import_util, socket_util from code_attribute import code_volumn_manager, global_data_loader, gpcode_manager, first_target_code_data_processor import constant -from user import authority -from l2 import l2_data_manager_new, l2_data_manager, l2_data_log, l2_log, code_price_manager -import l2_data_util +from l2 import l2_data_manager_new, l2_data_manager, code_price_manager import l2.l2_data_util from third_data import block_info from third_data.code_plate_key_manager import CodesHisReasonAndBlocksManager from third_data.history_k_data_util import HistoryKDatasUtils from third_data.kpl_data_manager import KPLCodeLimitUpReasonManager -from ths import l2_listen_pos_health_manager, l2_code_operate, client_manager from trade import trade_data_manager, trade_manager, l2_trade_util, \ current_price_process_manager, trade_juejin, trade_constant -from code_attribute.code_data_util import ZYLTGBUtil import l2.transaction_progress -from log_module.log import logger_l2_error, logger_device, logger_trade_delegate, logger_buy_1_volumn_record, \ - logger_l2_trade_queue, logger_l2_latest_data, logger_l2_trade_buy_queue, logger_debug +from log_module.log import logger_trade_delegate, logger_buy_1_volumn_record, \ + logger_l2_trade_queue, logger_l2_trade_buy_queue, logger_debug from trade.huaxin import huaxin_trade_record_manager from trade.trade_manager import TradeTargetCodeModeManager from trade.trade_queue_manager import THSBuy1VolumnManager, thsl2tradequeuemanager @@ -79,7 +75,6 @@ super().setup() # 鍙互涓嶈皟鐢ㄧ埗绫荤殑setup()鏂规硶锛岀埗绫荤殑setup鏂规硶浠�涔堥兘娌″仛 # print("----setup鏂规硶琚墽琛�-----") # print("鎵撳嵃浼犲叆鐨勫弬鏁帮細", self.server.pipe_trade) - self.l2CodeOperate = l2_code_operate.L2CodeOperate.get_instance() def __notify_trade(self, type_): if self.server.pipe_trade: @@ -124,107 +119,7 @@ else: print(_str) return_str = "OK" - if type == 0: - try: - - origin_start_time = round(time.time() * 1000) - __start_time = round(time.time() * 1000) - - # level2鐩樺彛鏁版嵁 - day, client, channel, code, capture_time, process_time, origin_datas, origin_datas_count = l2.l2_data_util.parseL2Data( - _str) - last_health_time = self.last_l2_listen_health_time.get((client, channel)) - # --------------------------------璁剧疆L2鍋ュ悍鐘舵��-------------------------------- - if last_health_time is None or __start_time - last_health_time > 1000: - self.last_l2_listen_health_time[(client, channel)] = __start_time - # 鏇存柊鐩戝惉浣嶅仴搴风姸鎬� - if origin_datas_count == 0: - l2_listen_pos_health_manager.set_unhealthy(client, channel) - else: - l2_listen_pos_health_manager.set_healthy(client, channel) - - l2_log.threadIds[code] = random.randint(0, 100000) - if True: - # 闂撮殧1s淇濆瓨涓�鏉2鐨勬渶鍚庝竴鏉℃暟鎹� - if code not in self.l2_save_time_dict or origin_start_time - self.l2_save_time_dict[ - code] >= 1000 and len(origin_datas) > 0: - self.l2_save_time_dict[code] = origin_start_time - logger_l2_latest_data.info("{}#{}#{}", code, capture_time, origin_datas[-1]) - - # 10ms鐨勭綉缁滀紶杈撳欢鏃� - capture_timestamp = __start_time - process_time - 10 - # print("鎴浘鏃堕棿锛�", process_time) - __start_time = l2_data_log.l2_time(code, round(time.time() * 1000) - __start_time, - "鎴浘鏃堕棿锛歿} 鏁版嵁瑙f瀽鏃堕棿".format(process_time)) - - cid, pid = gpcode_manager.get_listen_code_pos(code) - - __start_time = l2_data_log.l2_time(code, round(time.time() * 1000) - __start_time, - "l2鑾峰彇浠g爜浣嶇疆鑰楁椂") - # 鍒ゆ柇鐩爣浠g爜浣嶇疆鏄惁涓庝笂浼犳暟鎹綅缃竴鑷� - if cid is not None and pid is not None and client == int(cid) and channel == int(pid): - # l2.l2_data_util.set_l2_data_latest_count(code, len(origin_datas)) - l2_data_util.save_l2_latest_data_number(code, origin_datas_count) - # 淇濆瓨l2鏁版嵁鏉℃暟 - if not origin_datas: - # or not l2.l2_data_util.is_origin_data_diffrent(origin_datas,self.latest_oringin_data.get(code)): - raise Exception("鏃犳柊澧炴暟鎹�") - # 淇濆瓨鏈�杩戠殑鏁版嵁 - self.latest_oringin_data[code] = origin_datas - limit_up_price = gpcode_manager.get_limit_up_price(code) - datas = l2.l2_data_util.L2DataUtil.format_l2_data(origin_datas, code, limit_up_price) - try: - # 鏍¢獙瀹㈡埛绔唬鐮� - l2_code_operate.verify_with_l2_data_pos_info(code, client, channel) - __start_time = round(time.time() * 1000) - if gpcode_manager.is_listen(code): - __start_time = l2_data_log.l2_time(code, - round(time.time() * 1000) - __start_time, - "l2澶栭儴鏁版嵁棰勫鐞嗚�楁椂") - l2_data_manager_new.L2TradeDataProcessor.process(code, datas, capture_timestamp) - __start_time = l2_data_log.l2_time(code, - round(time.time() * 1000) - __start_time, - "l2鏁版嵁鏈夋晥澶勭悊澶栭儴鑰楁椂", - False) - # 淇濆瓨鍘熷鏁版嵁鏁伴噺 - # l2_data_util.save_l2_latest_data_number(code, len(origin_datas)) - # if round(time.time() * 1000) - __start_time > 20: - # l2_data_log.l2_time(code, round(time.time() * 1000) - __start_time, - # "寮傛淇濆瓨鍘熷鏁版嵁鏉℃暟鑰楁椂", - # False) - - except l2_data_manager.L2DataException as l: - # 鍗曚环涓嶇 - if l.get_code() == l2_data_manager.L2DataException.CODE_PRICE_ERROR: - key = "{}-{}-{}".format(client, channel, code) - if key not in self.l2_data_error_dict or round( - time.time() * 1000) - self.l2_data_error_dict[key] > 10000: - # self.l2CodeOperate.repaire_l2_data(code) - logger_l2_error.warning("code-{} l2鍗曚环閿欒:{}", code, l.msg) - # 鍗曚环涓嶄竴鑷存椂闇�瑕佺Щ闄や唬鐮侀噸鏂版坊鍔� - l2_code_operate.L2CodeOperate().remove_l2_listen(code, "l2鐩戝惉鍗曚环閿欒") - self.l2_data_error_dict[key] = round(time.time() * 1000) - - except Exception as e: - print("寮傚父", str(e), code) - logging.exception(e) - logger_l2_error.error("鍑洪敊锛歿}".format(str(e))) - logger_l2_error.error("鍐呭锛歿}".format(_str)) - finally: - - __end_time = round(time.time() * 1000) - # 鍙褰曞ぇ浜�40ms鐨勬暟鎹� - if __end_time - origin_start_time > 100: - l2_data_log.l2_time(code, round(time.time() * 1000) - origin_start_time, - "l2鏁版嵁澶勭悊鎬昏�楁椂", - True) - except Exception as e: - if str(e).find("鏂板鏁版嵁"): - pass - else: - logger_l2_error.exception(e) - - elif type == 2: + if type == 2: # 娑ㄥ仠浠g爜 dataList, is_add = data_process.parseGPCode(_str) # 璁剧疆娑ㄥ仠鏃堕棿 @@ -447,16 +342,6 @@ space = time.time() - __start_time if space > 0.1: logger_debug.info("{}鎴愪氦闃熷垪澶勭悊鏃堕棿锛歿},{}", code, space, msg) - - elif type == 20: - # 鐧诲綍 - data = data_process.parse(_str)["data"] - try: - client_id, _authoritys = authority.login(data["account"], data["pwd"]) - return_str = data_process.toJson( - {"code": 0, "data": {"client": int(client_id), "authoritys": json.loads(_authoritys)}}) - except Exception as e: - return_str = data_process.toJson({"code": 1, "msg": str(e)}) # 鐜颁环鏇存柊 elif type == 40: datas = data_process.parse(_str)["data"] @@ -509,56 +394,6 @@ # if need_sync: # # 鍚屾鏁版嵁 # L2LimitUpMoneyStatisticUtil.verify_num(code, volumn, time_) - elif type == 30: - # 蹇冭烦淇℃伅 - data = data_process.parse(_str)["data"] - client_id = data["client"] - thsDead = data.get("thsDead") - logger_device.info("锛坽}锛夊鎴风淇℃伅锛歿}".format(client_id, json.dumps(data))) - client_manager.saveClientActive(int(client_id), host, thsDead) - if constant.is_windows(): - # 鍔ㄦ�佸鍏� - - if ths_util.is_ths_dead(client_id): - # TODO 閲嶅惎鍚岃姳椤� - # 鎶ヨ - l2_clients = authority.get_l2_clients() - if client_id in l2_clients: - alert_util.alarm() - elif type == 60: - # L2鑷惎鍔ㄦ垚鍔� - data = data_process.parse(_str)["data"] - client_id = data["client"] - print("L2鑷惎鍔ㄦ垚鍔�", client_id) - now_str = tool.get_now_time_str() - ts = tool.get_time_as_second(now_str) - # 9鐐�25鍒�9鐐�28涔嬮棿鐨勮嚜鍚姩灏遍渶瑕佹壒閲忚缃唬鐮�,鐩墠姘歌繙涓嶆墽琛� - if tool.get_time_as_second("09:24:50") <= ts <= tool.get_time_as_second("09:28:00") and False: - # 鍑嗗鎵归噺璁剧疆浠g爜 - return_json = {"code": 1, "msg": "绛夊緟鎵归噺璁剧疆浠g爜"} - return_str = json.dumps(return_json) - # 鑾峰彇鎺掑悕鍓�16浣嶇殑浠g爜 - codes = trade_data_manager.CodeActualPriceProcessor().get_top_rate_codes(16) - codes = sorted(codes) - if client_id == 2: - codes = codes[:constant.L2_CODE_COUNT_PER_DEVICE] - else: - codes = codes[constant.L2_CODE_COUNT_PER_DEVICE:] - codes_datas = [] - for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE): - if i >= len(codes): - break - codes_datas.append((i, codes[i])) - # 濡傛灉璁剧疆澶辫触闇�瑕侀噸璇�2娆� - for i in range(0, 3): - set_success = l2_code_operate.betch_set_client_codes(client_id, codes_datas) - if set_success: - break - else: - time.sleep(3) - else: - return_json = {"code": 0, "msg": "寮�鍚湪绾跨姸鎬�"} - return_str = json.dumps(return_json) elif type == 70: # 閫夎偂瀹濈儹闂ㄦ蹇� data_json = data_process.parse(_str) @@ -833,81 +668,6 @@ def finish(self): super().finish() # 鍙互涓嶈皟鐢ㄧ埗绫荤殑finish(),鏂规硶锛岀埗绫荤殑finish鏂规硶浠�涔堥兘娌″仛 # print("--------finish鏂规硶琚墽琛�---") - - -def send_msg(client_id, data): - _ip = client_manager.getActiveClientIP(client_id) - # print("ip", client_id, _ip) - if _ip is None or len(_ip) <= 0: - raise Exception("瀹㈡埛绔疘P涓虹┖") - socketClient = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - socketClient.connect((_ip, 9006)) - # 杩炴帴socket - try: - socketClient.send(json.dumps(data).encode()) - recv = socketClient.recv(1024) - result = str(recv, encoding="gbk") - return result - finally: - socketClient.close() - - -# 瀹㈡埛绔績璺虫満鍒� -def test_client_server(): - while True: - clients = authority.get_l2_clients() - for client in clients: - # print("蹇冭烦", client) - try: - send_msg(client, {"action": "test"}) - except: - pass - # 鐭瀹㈡埛绔唬鐮� - l2_code_operate.correct_client_codes() - time.sleep(5) - - -# 鑾峰彇閲囬泦瀹㈡埛绔殑鐘舵�� -def get_client_env_state(client): - result = send_msg(client, {"action": "getEnvState"}) - result = json.loads(result) - if result["code"] == 0: - return json.loads(result["data"]) - else: - raise Exception(result["msg"]) - - -# 淇閲囬泦瀹㈡埛绔� -def repair_client_env(client): - result = send_msg(client, {"action": "repairEnv"}) - result = json.loads(result) - if result["code"] != 0: - raise Exception(result["msg"]) - - -# 鍚屾鐩爣鏍囩殑鍒板悓鑺遍『 -def sync_target_codes_to_ths(): - codes = gpcode_manager.get_second_gp_list() - code_list = [] - for code in codes: - code_list.append(code) - client = authority._get_client_ids_by_rule("data-maintain") - result = send_msg(client[0], {"action": "syncTargetCodes", "data": code_list}) - return result - - -# 淇鍚岃姳椤轰富绔� -def repair_ths_main_site(client): - result = send_msg(client, {"action": "updateTHSSite"}) - result = json.loads(result) - if result["code"] != 0: - raise Exception(result["msg"]) - else: - # 娴嬮�熸垚鍔� - client_infos = [] - for index in range(0, constant.L2_CODE_COUNT_PER_DEVICE): - client_infos.append((client, index)) - l2_listen_pos_health_manager.init_all(client_infos) if __name__ == "__main__1": -- Gitblit v1.8.0