| | |
| | | # 操作l2的代码 |
| | | import json |
| | | import logging |
| | | import os |
| | | import queue |
| | | import threading |
| | |
| | | result = server.send_msg(client_id, data) |
| | | logger_code_operate.info( |
| | | "setGPCode结束({}):clientid-{} position-{} code-{}".format(result, client_id, position, gpcode)) |
| | | if result.__contains__('OK'): |
| | | jsonData = json.loads(result) |
| | | if jsonData["code"] == 0: |
| | | gpcode_manager.set_listen_code_by_pos(client_id, position, gpcode) |
| | | L2CodeOperate.set_operate_code_state(client_id, position, 1) |
| | | |
| | | except Exception as e: |
| | | logger_code_operate.error("setGPCode出错:{}", str(e)) |
| | |
| | | if code_ == "" or code_ is None: |
| | | continue |
| | | |
| | | logger_code_operate.info("修复代码一致:{}-{}-{}", client, pos, code) |
| | | logger_code_operate.info("修复代码一致:{}-{}-{}", client_id, pos, code) |
| | | |
| | | L2CodeOperate.setGPCode(client_id, pos, code) |
| | | # 修复l2的数据错误 |
| | | elif type == 3: |
| | | data = data["data"] |
| | | client = data["client"] |
| | | server.send_msg(client, json.dumps(data)) |
| | | |
| | | data=data["data"] |
| | | result = server.send_msg(client, data) |
| | | print("L2數據修復結果:",result) |
| | | else: |
| | | time.sleep(1) |
| | | except: |
| | | print("发送操作异常") |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | print("发送操作异常:",str(e)) |
| | | |
| | | def add_operate(self, type, code): |
| | | redis = self.redis_manager_.getRedis() |
| | |
| | | redis.rpush("code_operate_queue", json.dumps({"type": type, "code": code})) |
| | | |
| | | def repaire_operate(self, client, pos, code): |
| | | # 如果本来该位置代码为空则不用修复 |
| | | code_ = gpcode_manager.get_listen_code_by_pos(client, pos) |
| | | if code_ == "" or code_ is None: |
| | | return |
| | | logger_code_operate.info("客户端位置代码修复:client-{},pos-{},code-{}", client, pos, code) |
| | | |
| | | redis = self.redis_manager_.getRedis() |
| | | redis.rpush("code_operate_queue", json.dumps({"type": 2, "client": client, "pos": pos, "code": code})) |
| | |
| | | "data": {"index": int(pos), "code": code, "min_price": float(min_price), |
| | | "max_price": float(max_price)}} |
| | | redis = self.redis_manager_.getRedis() |
| | | redis.rpush("code_operate_queue", json.dumps({"type": 3, "client": client_id, "data": data})) |
| | | redis.rpush("code_operate_queue", json.dumps({"type": 3,"code":code, "client": client_id, "data": data})) |
| | | |
| | | # 移除监控 |
| | | def remove_l2_listen(self, code): |
| | |
| | | self.add_operate(0, code) |
| | | |
| | | # 设置代码操作状态,服务器保存的代码是否与实际设置的代码保持一致 |
| | | def set_operate_code_state(self, client_id, channel, state): |
| | | self.getRedis().setex("code-operate_state-{}-{}".format(client_id, channel), tool.get_expire(), state) |
| | | @classmethod |
| | | def set_operate_code_state(cls, client_id, channel, state): |
| | | cls.getRedis().setex("code-operate_state-{}-{}".format(client_id, channel), tool.get_expire(), state) |
| | | |
| | | def get_operate_code_state(self, client_id, channel): |
| | | value = self.getRedis().get("code-operate_state-{}-{}".format(client_id, channel)) |