flag = 0
@web.route('/monitor')
def monitor():
"""
display all state
"""
global flag
flag += 1
if flag == 1:
once = "initonce();"
else:
once = "init();"
大致代码是这样,请问怎么改可以不使用全局变量进行判断。
1
Jat001 2018-11-29 15:13:09 +08:00
|
2
XIVN1987 2018-11-29 15:17:41 +08:00
Class-Based Views
|
3
Trim21 2018-11-29 15:18:10 +08:00 via iPhone
Redis 之类的 kv 数据库
|
4
fanhaipeng0403 2018-11-29 15:18:24 +08:00 3
def counted(f):
def wrapped(*args, **kwargs): wrapped.calls += 1 return f(*args, **kwargs) wrapped.calls = 0 return wrapped @counted def foo(): print('1') foo() foo() foo() foo() foo() foo() print(foo.calls) |
5
fanhaipeng0403 2018-11-29 15:19:14 +08:00
|
6
bantao 2018-11-29 15:23:20 +08:00
单例类里面做统计
|
7
raysonx 2018-11-29 15:27:43 +08:00
如果你的程序是多进程的或者在分布式环境下做 load balancing,上述提到的方法只有数据库可用。
|
8
ltoddy 2018-11-29 15:41:42 +08:00
|
9
www5070504 2018-11-29 16:01:39 +08:00
@app.before_request 加上 随便一个文件读写或者 kv 数据库都行
|
10
www5070504 2018-11-29 16:02:33 +08:00
啊我好像看错了..
|
11
dingyaguang117 2018-11-29 20:59:15 +08:00
current_app.flag = 0
|