Break get_time_elapsed into misc_helper (#10)

This commit is contained in:
2023-06-09 11:10:42 -05:00
committed by GitHub
parent 05c8ac506c
commit 75de367153
4 changed files with 43 additions and 42 deletions

View File

@@ -9,8 +9,9 @@ import glob
from datetime import datetime
from enum import Enum
from sqlalchemy import Column, Integer, String, DateTime, JSON, event
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from lib.utilities.misc_helper import get_time_elapsed
import psutil
@@ -273,35 +274,7 @@ class BaseRenderWorker(Base):
raise NotImplementedError("_parse_stdout not implemented")
def time_elapsed(self):
from string import Template
class DeltaTemplate(Template):
delimiter = "%"
def strfdelta(tdelta, fmt='%H:%M:%S'):
d = {"D": tdelta.days}
hours, rem = divmod(tdelta.seconds, 3600)
minutes, seconds = divmod(rem, 60)
d["H"] = '{:02d}'.format(hours)
d["M"] = '{:02d}'.format(minutes)
d["S"] = '{:02d}'.format(seconds)
t = DeltaTemplate(fmt)
return t.substitute(**d)
# calculate elapsed time
elapsed_time = None
start_time = self.start_time
end_time = self.end_time
if start_time:
if end_time:
elapsed_time = end_time - start_time
elif self.status == RenderStatus.RUNNING:
elapsed_time = datetime.now() - start_time
elapsed_time_string = strfdelta(elapsed_time) if elapsed_time else "Unknown"
return elapsed_time_string
return get_time_elapsed(self.start_time, self.end_time)
def file_list(self):
job_dir = os.path.dirname(self.output_path)
@@ -322,7 +295,6 @@ class BaseRenderWorker(Base):
'start_time': self.start_time,
'end_time': self.end_time,
'status': self.status.value,
'time_elapsed': self.time_elapsed(),
'file_hash': self.file_hash,
'percent_complete': self.percent_complete(),
'file_count': len(self.file_list()),