#控制短信发送条件的装饰器 def cacheip(timeout=606024, key='ip%stype%s'): def out_func(func): def in_func(*args, **kwargs): #获取请求者 ip ip = request.remote_addr typename = request.form.get('typename') #设置 key cache_key = key%(ip,typename) print(cache_key) #首次请求 get 获取不到数据 value = cache.get(cache_key) #程序出错返回 null res = func(*args, **kwargs) #发送短信的条件程序出错并且 key 首次出现 if value is None and res is 'null': print('send message') ip = request.remote_addr typename = request.form.get('typename') data = request.form.get('data') #将 set key 值确保同一个 ip 多次请求只发一次短信,每天重置过期时间 cache.set(cache_key, ip, timeout=timeout) #发短信 send_move(ip,typename,data) return res return in_func return out_func
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.