Python 通过Django视图查看memcache统计信息会导致超时
我在Django视图中有以下代码片段来呈现memcache统计数据:Python 通过Django视图查看memcache统计信息会导致超时,python,timeout,memcached,Python,Timeout,Memcached,我在Django视图中有以下代码片段来呈现memcache统计数据: import datetime, re, memcache host = memcache._Host(settings.CACHES['default']['LOCATION']) host.connect() host.send_cmd("stats") output = '' while 1: line = host.readline() if line[0] == "END": brea
import datetime, re, memcache
host = memcache._Host(settings.CACHES['default']['LOCATION'])
host.connect()
host.send_cmd("stats")
output = ''
while 1:
line = host.readline()
if line[0] == "END":
break
output += line + "\n"
host.close_socket()
return output
当我尝试此操作时,readline()语句会超时
不过,通过manage.py shell
尝试此代码效果很好
如果改为使用此代码段,它将在视图中工作:
p2 = subprocess.Popen(["echo \"stats\" | nc " + settings.CACHES['default']['LOCATION'].replace(':', ' ')], stdout = subprocess.PIPE, shell=True)
return p2.stdout.read()
我可以忽略前面代码的超时,使用subprocess方法,但我真正感兴趣的是了解可能出现的错误。有人遇到过这个问题吗?没关系,应该是:
if line.strip() == "END":
结束日期:
if line[0] == "END":