아니요. dowser
앱을 CherryPy 트리에 올바르게 장착 한 경우 trace
및 chart
을 터치하지 않아야합니다. 그것은 다음과 같은 것일 수 있습니다. 실행하고 잠시 기다렸다가 누수를 찾으면됩니다 (psst, 인스턴스 카운트 차트 참조).
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import threading
import time
import cherrypy
import dowser
config = {
'global' : {
'server.socket_host' : '127.0.0.1',
'server.socket_port' : 8080,
'server.thread_pool' : 4
}
}
class DowserToShow:
pass
class App:
issueIsMe = []
exited = False
thread = None
def __init__(self):
self.thread = threading.Thread(target = self.leak)
self.thread.start()
cherrypy.engine.subscribe('exit', self.exit)
def exit(self):
self.exited = True
self.thread.join()
def leak(self):
while not self.exited:
for i in range(100):
self.issueIsMe.append(DowserToShow())
time.sleep(1)
@cherrypy.expose
def index(self):
return 'Leaked instances, {0}'.format(len(self.issueIsMe))
if __name__ == '__main__':
cherrypy.tree.mount(dowser.Root(), '/dowser')
cherrypy.quickstart(App(), '/', config)
링크 된 자습서에서/dowser,/trace 및/chart를 앱에 마운트하는 것처럼 보입니다. 브라우저에서 아직이 URL을 방문 했습니까? – elarson