Add ability to add multiple jobs with same source file

This commit is contained in:
Brett Williams
2022-10-30 01:50:33 -07:00
parent a8a90d49f3
commit 5785989af4
4 changed files with 114 additions and 75 deletions

View File

@@ -12,7 +12,8 @@ logger = logging.getLogger()
class RenderJob:
def __init__(self, renderer, input_path, output_path, args, priority=2, owner=None, client=None, notify=None, custom_id=None):
def __init__(self, renderer, input_path, output_path, args, priority=2, owner=None, client=None, notify=None,
custom_id=None, name=None):
self.id = custom_id or self.generate_id()
self.owner = owner
self.priority = priority
@@ -21,22 +22,17 @@ class RenderJob:
self.date_created = datetime.now()
self.scheduled_start = None
self.renderer = renderer
self.name = os.path.basename(input_path) + '_' + self.date_created.isoformat()
self.name = name or os.path.basename(input_path) + '_' + self.date_created.isoformat()
self.archived = False
self.worker = RenderWorkerFactory.create_worker(renderer, input_path, output_path, args)
self.worker.log_path = os.path.join(os.path.dirname(input_path), os.path.basename(input_path) + '.log')
self.worker.log_path = os.path.join(os.path.dirname(input_path), self.name + '.log')
def render_status(self):
"""Returns status of render job"""
try:
if self.scheduled_start and self.worker.status == RenderStatus.NOT_STARTED:
return RenderStatus.SCHEDULED
else:
return self.worker.status
except Exception as e:
logger.warning("render_status error: {}".format(e))
return RenderStatus.ERROR
if self.scheduled_start and self.worker.status == RenderStatus.NOT_STARTED:
return RenderStatus.SCHEDULED
else:
return self.worker.status
def file_hash(self):
return hashlib.md5(open(self.worker.input_path, 'rb').read()).hexdigest()