From 76325333ad124fe2ae009569ded96418df7e703e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 03 一月 2024 16:06:57 +0800
Subject: [PATCH] 10061 python代码在线重读(批量重读pymongo支持)

---
 Tool/RemoteTool/RemoteServer/control.py |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/Tool/RemoteTool/RemoteServer/control.py b/Tool/RemoteTool/RemoteServer/control.py
index d44d7d6..4ee303a 100644
--- a/Tool/RemoteTool/RemoteServer/control.py
+++ b/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()

--
Gitblit v1.8.0