mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-15 01:56:51 +02:00
[core] add start/end datetime and elapsed time in status file
This commit is contained in:
parent
07351c911a
commit
c57d7ed37e
1 changed files with 28 additions and 4 deletions
|
@ -8,6 +8,7 @@ import os
|
||||||
import weakref
|
import weakref
|
||||||
import shutil
|
import shutil
|
||||||
import time
|
import time
|
||||||
|
import datetime
|
||||||
import uuid
|
import uuid
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
@ -427,6 +428,7 @@ class Status(Enum):
|
||||||
class StatusData:
|
class StatusData:
|
||||||
"""
|
"""
|
||||||
"""
|
"""
|
||||||
|
dateTimeFormatting = '%Y-%m-%d %H:%M:%S.%f'
|
||||||
|
|
||||||
def __init__(self, nodeName, nodeType):
|
def __init__(self, nodeName, nodeType):
|
||||||
self.status = Status.NONE
|
self.status = Status.NONE
|
||||||
|
@ -435,15 +437,32 @@ class StatusData:
|
||||||
self.graph = ''
|
self.graph = ''
|
||||||
self.commandLine = None
|
self.commandLine = None
|
||||||
self.env = None
|
self.env = None
|
||||||
|
self.startDateTime = ""
|
||||||
|
self.endDateTime = ""
|
||||||
|
self.elapsedTime = 0
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
self.status = Status.NONE
|
self.status = Status.NONE
|
||||||
self.graph = ''
|
self.graph = ''
|
||||||
self.commandLine = None
|
self.commandLine = None
|
||||||
self.env = None
|
self.env = None
|
||||||
|
self.elapsedTime = 0
|
||||||
|
|
||||||
|
def initStartDateTime(self):
|
||||||
|
self.startDateTime = datetime.datetime.now().strftime(self.dateTimeFormatting)
|
||||||
|
# to get datetime obj: datetime.datetime.strptime(obj, self.dateTimeFormatting)
|
||||||
|
|
||||||
|
def initEndDateTime(self):
|
||||||
|
self.endDateTime = datetime.datetime.now().strftime(self.dateTimeFormatting)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def elapsedTimeStr(self):
|
||||||
|
return str(datetime.timedelta(seconds=self.elapsedTime))
|
||||||
|
|
||||||
def toDict(self):
|
def toDict(self):
|
||||||
return self.__dict__
|
d = self.__dict__.copy()
|
||||||
|
d["elapsedTimeStr"] = self.elapsedTimeStr
|
||||||
|
return d
|
||||||
|
|
||||||
def fromDict(self, d):
|
def fromDict(self, d):
|
||||||
self.status = Status._member_map_[d['status']]
|
self.status = Status._member_map_[d['status']]
|
||||||
|
@ -452,6 +471,9 @@ class StatusData:
|
||||||
self.graph = d.get('graph', '')
|
self.graph = d.get('graph', '')
|
||||||
self.commandLine = d.get('commandLine', '')
|
self.commandLine = d.get('commandLine', '')
|
||||||
self.env = d.get('env', '')
|
self.env = d.get('env', '')
|
||||||
|
self.startDateTime = d.get('startDateTime', '')
|
||||||
|
self.endDateTime = d.get('endDateTime', '')
|
||||||
|
self.elapsedTime = d.get('elapsedTime', '')
|
||||||
|
|
||||||
|
|
||||||
runningProcesses = {}
|
runningProcesses = {}
|
||||||
|
@ -576,10 +598,11 @@ class NodeChunk(BaseObject):
|
||||||
return
|
return
|
||||||
global runningProcesses
|
global runningProcesses
|
||||||
runningProcesses[self.name] = self
|
runningProcesses[self.name] = self
|
||||||
|
self.status.initStartDateTime()
|
||||||
|
startTime = time.time()
|
||||||
self.upgradeStatusTo(Status.RUNNING)
|
self.upgradeStatusTo(Status.RUNNING)
|
||||||
self.statThread = stats.StatisticsThread(self)
|
self.statThread = stats.StatisticsThread(self)
|
||||||
self.statThread.start()
|
self.statThread.start()
|
||||||
startTime = time.time()
|
|
||||||
try:
|
try:
|
||||||
self.node.nodeDesc.processChunk(self)
|
self.node.nodeDesc.processChunk(self)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -589,8 +612,9 @@ class NodeChunk(BaseObject):
|
||||||
self.upgradeStatusTo(Status.STOPPED)
|
self.upgradeStatusTo(Status.STOPPED)
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
elapsedTime = time.time() - startTime
|
self.status.initEndDateTime()
|
||||||
print(' - elapsed time:', elapsedTime)
|
self.status.elapsedTime = time.time() - startTime
|
||||||
|
print(' - elapsed time:', self.status.elapsedTimeStr)
|
||||||
# ask and wait for the stats thread to stop
|
# ask and wait for the stats thread to stop
|
||||||
self.statThread.stopRequest()
|
self.statThread.stopRequest()
|
||||||
self.statThread.join()
|
self.statThread.join()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue