admin
2025-03-17 faa10757d0cdc1da06ba48d01d47fd69868cf96f
日志调整
1个文件已修改
62 ■■■■■ 已修改文件
data_server.py 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data_server.py
@@ -7,11 +7,15 @@
from http.server import BaseHTTPRequestHandler
import urllib.parse as urlparse
import psutil
from db import redis_manager_delegate as redis_manager, mysql_data_delegate as mysql_data
from db.redis_manager_delegate import RedisUtils
from log_module.log import hx_logger_l2_transaction, logger_debug
from strategy import data_cache
from trade import huaxin_trade_api, huaxin_trade_data_update
from trade.huaxin_trade_record_manager import DelegateRecordManager, DealRecordManager, MoneyManager, PositionManager
from utils import tool, huaxin_util
from utils import tool, huaxin_util, socket_util
class DataServer(BaseHTTPRequestHandler):
@@ -95,6 +99,62 @@
            # 获取每次买入的金额
            money = data_cache.BUY_MONEY_PER_CODE
            response_data = json.dumps({"code": 0, "data": {"money": money}})
        elif url.path == "/get_env":
            try:
                fdata = {}
                # try:
                #     date = HistoryKDatasUtils.get_trading_dates(tool.date_sub(tool.get_now_date_str(), 10),
                #                                                 tool.get_now_date_str())
                #     if date:
                #         fdata["juejin"] = 1
                # except Exception as e:
                #     fdata["juejin"] = 0
                # fdata["kpl"] = {}
                # # 获取开盘啦数据
                # kpl_types = [KPLDataType.LIMIT_UP.value, KPLDataType.JINGXUAN_RANK.value,
                #              KPLDataType.INDUSTRY_RANK.value]
                # for kpl_type in kpl_types:
                #     if kpl_type in KPLDataManager.kpl_data_update_info:
                #         fdata["kpl"][kpl_type] = KPLDataManager.kpl_data_update_info.get(kpl_type)
                try:
                    # 验证redis
                    RedisUtils.get(redis_manager.RedisManager(0).getRedis(), "test")
                    fdata["redis"] = 1
                except:
                    fdata["redis"] = 0
                try:
                    # 验证mysql
                    mysql_data.Mysqldb().select_one("select 1")
                    fdata["mysql"] = 1
                except:
                    fdata["mysql"] = 0
                try:
                    # redis异步任务数量
                    fdata["redis_async_task_count"] = redis_manager.RedisUtils.get_async_task_count()
                except:
                    pass
                # 获取交易通道
                try:
                    can_access = huaxin_trade_api.test_trade_channel()
                    fdata["trade_channel_access"] = 1 if can_access else 0
                except Exception as e:
                    logger_debug.exception(e)
                    fdata["trade_channel_access"] = 0
                # 获取CPU与内存适用情况
                memory_info = psutil.virtual_memory()
                cpu_percent = psutil.cpu_percent(interval=1)
                fdata["device"] = {"cpu": cpu_percent, "memery": memory_info.percent}
                # 获取交易通道
                result = {"code": 0, "data": fdata, "msg": ""}
                # print("OnGetEnvInfo 成功")
                response_data = json.dumps(result)
            except Exception as e:
                response_data = json.dumps({"code": 1, "msg": str(e)})
        self.send_response(200)
        # 发给请求客户端的响应数据