いくつかの値を計算し、1時間ごとにグラフを作成するスレッドを実行しているPythonスクリプトを書いています。私がやりたいのは、次の更新が行われるまでの残り時間を教えてくれる関数をそのスレッドに含めることです。私の現在の実装は次のとおりです。
class StatsUpdater(threading.Thread):
def __init__(self, updateTime):
threading.Thread.__init__(self)
self.event = threading.Event()
self.updateTime = updateTime
def run(self):
while not self.event.is_set():
self.updateStats()
self.event.wait(self.updateTime)
def updateStats(self):
print "Updating Stats"
tables = SQLInterface.listTables()
for table in tables:
PlotTools.createAndSave(table)
def stop(self):
self.event.set()
だから私が欲しいのは、そのクラスに別の関数を追加して、self.event.wait(self.updateTime)がタイムアウトするまでの残り時間を返すことです。
def getTimeout(self):
return self.event.timeRemaining()
これはどういうわけか可能ですか?