| | |
| | | |
| | | import constant |
| | | from code_attribute import gpcode_manager |
| | | from db.redis_manager import RedisUtils |
| | | from db.redis_manager_delegate import RedisUtils |
| | | from l2 import l2_data_log, l2_data_source_util |
| | | from log_module import log, log_export |
| | | from db import redis_manager |
| | | from log_module import log, log_export, async_log_util |
| | | from db import redis_manager_delegate as redis_manager |
| | | from utils import tool |
| | | |
| | | __db = 1 |
| | | _redisManager = redis_manager.RedisManager(1) |
| | | # l2数据管理 |
| | | # 本地最新一次上传的数据 |
| | |
| | | RedisUtils.setex(redis_instance, key, expire, json.dumps(json_value), auto_free=False) |
| | | finally: |
| | | RedisUtils.delete(redis_instance, "l2-save-{}".format(code), auto_free=False) |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | print("保存新数据用时:", msg, "耗时:{}".format(round(time.time() * 1000) - start_time)) |
| | | return datas |
| | |
| | | # 保存l2数据 |
| | | def save_l2_data(code, datas, add_datas): |
| | | # 只有有新曾数据才需要保存 |
| | | if len(add_datas) > 0: |
| | | if add_datas: |
| | | # 保存最近的数据 |
| | | __start_time = round(time.time() * 1000) |
| | | if datas: |
| | | RedisUtils.setex(_redisManager.getRedis(), "l2-data-latest-{}".format(code), tool.get_expire(), json.dumps(datas)) |
| | | l2_data_log.l2_time(code, round(time.time() * 1000) - __start_time, "保存最近l2数据用时") |
| | | RedisUtils.setex_async(__db, "l2-data-latest-{}".format(code), tool.get_expire(), |
| | | json.dumps(datas)) |
| | | # l2_data_log.l2_time(code, round(time.time() * 1000) - __start_time, "保存最近l2数据用时") |
| | | # 设置进内存 |
| | | local_latest_datas[code] = datas |
| | | set_l2_data_latest_count(code, len(datas)) |
| | | try: |
| | | log.logger_l2_data.info("{}-{}", code, add_datas) |
| | | async_log_util.l2_data_log.info(log.logger_l2_data, f"{code}-{add_datas}") |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | # 暂时不将数据保存到redis |
| | | # saveL2Data(code, add_datas) |
| | | |
| | | |
| | | # 设置最新的l2数据采集的数量 |
| | |
| | | # 数据重复次数默认为1 |
| | | datas.append({"key": key, "val": item, "re": 1}) |
| | | dataIndexs.setdefault(key, len(datas) - 1) |
| | | # TODO 测试的时候开启,方便记录大单数据 |
| | | # 测试的时候开启,方便记录大单数据 |
| | | # l2_data_util.save_big_data(code, same_time_num, data) |
| | | return datas |
| | | |