0
我想使用thread.Timer类,但我不断收到崩溃。 这里有个想法:我有一个代码可以启动一个Web应用程序的优化。优化启动后,我想定期向Web应用服务器发送请求,以了解优化是完成还是仍在执行。线程计时器问题python
def checkPeriodically(self):
print "Sending a request"
finished = self.checkOptim()
if finished :
return
t = threading.Timer(60,self.checkPeriodically)
t.start()
我的checkOptim函数使用机械化来连接到应用程序并阅读结果页面;那么它使用HTMLParser来检查优化是否完成。
def checkOptim(self):
browser = mechanize.Browser()
browser.set_handle_refresh(True, honor_time=True, max_time=10)
browser.open('resultPageURL')
response = browser.response().read()
parser = MyHTMLParser(self.optimName)
parser.feed(response)
return parser.optimFinished
所有这一切是一个插件我写QGIS(地理信息系统)的一部分,但我不认为这个问题是关系到软件,这可能是因为我没有正确使用线程类。任何帮助将深表感谢。
你是对的,问题来自于一个事实,即oject(类),从该当定时器发生时,我称之为“checkPeriodically”不再存在,导致软件崩溃。感谢您的帮助! – Ril8772