hxp
2024-01-02 728f5ff7f5cb2fbfabdb21c2f2fb2f78de3ef56c
10061 python代码在线重读(批量重读pymongo支持)
1个文件已修改
1个文件已添加
67 ■■■■■ 已修改文件
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_ReloadPymongo.py 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RemoteTool/RemoteServer/control.py 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_ReloadPymongo.py
New file
@@ -0,0 +1,27 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package PyMongoDataServer.GMToolLogicProcess.Commands.GMT_ReloadPymongo
#
# @todo:重读Pymongo
# @author hxp
# @date 2024-01-02
# @version 1.0
#
# 详细描述: 重读Pymongo
#
#-------------------------------------------------------------------------------
#"""Version = 2024-01-02 16:00"""
#-------------------------------------------------------------------------------
import GMCommon
## 收到gm命令执行
# @param gmCmdDict:gm命令字典
# @return None
def OnExec(gmCmdDict):
    from CmdShell import ReloadModule
    ReloadModule.DoReload()
    return GMCommon.Def_Success, ''
Tool/RemoteTool/RemoteServer/control.py
@@ -92,7 +92,42 @@
    except Exception, e:
        WriteResult( pushurl+ " 重读失败" + str(e))
    return False
# 重读Pymongo,对应GMkey
def ReloadPymongo(pushurl):
    # 默认端口80,有需要直接改地址
    try:
        # GM推送地址
        gmurl = "http://%s/Server/Tool.php"%(pushurl)
        gmkey = "2" # 高级key
        if not gmkey or not gmurl:
            return
        pack_data = {};
        pack_data["pack_type"] = "GMT_ReloadPymongo"
        pack_data["key"] = gmkey;
        pack_data['coding'] = "utf8";
    
        #使用key加密
        pack_data_dict = json.dumps(pack_data)
        sign = md5.md5(pack_data_dict+gmkey).hexdigest()
        post = {}
        post['pack'] = pack_data_dict;
        post['sign'] = sign;
        result = urllib2.urlopen(gmurl, urllib.urlencode(post), 10)
        content = result.read()
        result.close()
        resultDict = json.loads( content)
        if resultDict.get("ResultType") == 0:
            WriteResult( pushurl + " 重读成功!!!")
            return True
        WriteResult( pushurl+ " 重读失败! ret:%s" % content)
        return False
    except Exception, e:
        WriteResult( pushurl+ " 重读失败! e:" + str(e))
    return False
def WriteResult(msg):
    global g_fileLog
@@ -109,7 +144,7 @@
    # 服务器列表
    f = open(r'.\qufu.txt','r')
    
    result = raw_input("请输入字母 k.开服 g.关服 c.查看地图运行情况(首开服) r.重读配置")
    result = raw_input("请输入字母 k.开服 g.关服 c.查看地图运行情况(首开服) r.重读配置  rpym.重读pymongo")
    result = result.strip()
    WriteResult("==开始执行命令:%s"%result)
    if result == 'k': 
@@ -124,6 +159,9 @@
    elif result == 'r':
        for line in f.readlines():
            ReloadConfig(line.strip())
    elif result == 'rpym':
        for line in f.readlines():
            ReloadPymongo(line.strip())
    else:
        WriteResult("==执行错误的命令:%s"%result)
    f.close()