mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-25 23:16:30 +02:00
[core] stop StatisticsThread when node is processed
This commit is contained in:
parent
bc5bb96c2e
commit
23541db54d
2 changed files with 13 additions and 6 deletions
|
@ -446,10 +446,10 @@ class Node(BaseObject):
|
||||||
self.upgradeStatusTo(Status.ERROR)
|
self.upgradeStatusTo(Status.ERROR)
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
statThread.running = False
|
|
||||||
# Don't need to join, the thread will finish a bit later.
|
|
||||||
# statThread.join()
|
|
||||||
self._subprocess = None
|
self._subprocess = None
|
||||||
|
# ask and wait for the stats thread to terminate
|
||||||
|
statThread.stopRequest()
|
||||||
|
statThread.join()
|
||||||
|
|
||||||
self.upgradeStatusTo(Status.SUCCESS)
|
self.upgradeStatusTo(Status.SUCCESS)
|
||||||
|
|
||||||
|
|
|
@ -191,8 +191,8 @@ class StatisticsThread(threading.Thread):
|
||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
self.node = node
|
self.node = node
|
||||||
self.proc = None
|
self.proc = None
|
||||||
self.running = True
|
|
||||||
self.statistics = self.node.statistics
|
self.statistics = self.node.statistics
|
||||||
|
self._stopFlag = threading.Event()
|
||||||
|
|
||||||
def updateStats(self):
|
def updateStats(self):
|
||||||
self.lastTime = time.time()
|
self.lastTime = time.time()
|
||||||
|
@ -200,7 +200,14 @@ class StatisticsThread(threading.Thread):
|
||||||
self.node.saveStatistics()
|
self.node.saveStatistics()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
while self.running:
|
while True:
|
||||||
self.updateStats()
|
self.updateStats()
|
||||||
time.sleep(60)
|
if self._stopFlag.wait(60):
|
||||||
|
# stopFlag has been set
|
||||||
|
# update stats one last time and exit main loop
|
||||||
|
self.updateStats()
|
||||||
|
return
|
||||||
|
|
||||||
|
def stopRequest(self):
|
||||||
|
""" Request the thread to exit as soon as possible. """
|
||||||
|
self._stopFlag.set()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue