hch
2020-09-16 df59e70e3ced1d0956749d89f0f88fa0a6a2d7f4
0312 兑换激活码改多线程
2个文件已修改
34 ■■■■ 已修改文件
Tool/WebCenter/CouponCode/main.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/WebCenter/CouponCode/webapp.py 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/WebCenter/CouponCode/main.py
@@ -33,8 +33,8 @@
    
    CenterPort = int(ReadConfig.ReadConfig(os.getcwd() + "\\..\\Coupon\\config.ini").GetValue("Coupon", "CodePort", 53003))
    
    # 此处不要用多线程,不然会导致同时间复用的情况,造成刷单
    run(host='0.0.0.0', port=CenterPort, app=webapp.myapp)
    # 多线程 需防范频繁访问情况
    run(host='0.0.0.0', port=CenterPort, app=webapp.myapp, server='waitress')
    return
if __name__ == '__main__':
Tool/WebCenter/CouponCode/webapp.py
@@ -59,6 +59,15 @@
                
myapp = Bottle()
# 防止短时间内的多次无效访问 accid:time
AccID_Cache_Dict = {}
def CleanAccID():
    global AccID_Cache_Dict
    if len(AccID_Cache_Dict) < 100:
        return
    AccID_Cache_Dict = {}
#/api/Coupon/index.php?couponBatchId=%s&agentName=%s"
@@ -117,6 +126,7 @@
# http://center.xxx.com:53003/Coupon/CouponCode.php
@myapp.route('/Coupon/CouponCode.php')
def CouponCode():
    global AccID_Cache_Dict
    dataDict = request.GET
    
    for key, value in dataDict.items():
@@ -146,6 +156,20 @@
    
    # 转化为游戏账号 
    accid = "%s@%s@s%s"%(accid.lower(), spID, sid)
    try:
        CleanAccID()
        #mylog.debug("AccID_Cache_Dict : %s"%str(AccID_Cache_Dict))
        if accid not in AccID_Cache_Dict:
            AccID_Cache_Dict[accid] = int(time.time())
        elif time.time() - AccID_Cache_Dict[accid] < 2:
            mylog.debug("==========bad: fast click  %s"%accid)
            return
        AccID_Cache_Dict[accid] = int(time.time())
    except:
        pass
    
    dbController = CouponDB.GetDBEventCon()
    if not dbController:
@@ -385,9 +409,9 @@
        post = {}
        post['pack'] = pack_data_dict;
        post['sign'] = sign;
        result = urllib2.urlopen(gmurl, urllib.urlencode(post), 10)
        result = urllib2.urlopen(gmurl, urllib.urlencode(post), 3)
        content = result.read()
        #content = result.read()
        result.close()
        
        # 成功提示
@@ -408,7 +432,7 @@
        post['sign'] = sign;
        urllib2.urlopen(gmurl, urllib.urlencode(post), 3)
        
        return content
        return 0
    except Exception, e:
        mylog.debug("gm error %s"%e)
    return