Remove all references to ScheduledJob

This commit is contained in:
Brett Williams
2023-05-30 22:30:18 -05:00
parent 60eeb6d5e2
commit 6533481391
3 changed files with 20 additions and 3 deletions

View File

@@ -109,7 +109,7 @@ class RenderQueue:
@classmethod
def load_state(cls):
cls.job_queue = cls.session.query(ScheduledJob).all()
cls.job_queue = cls.session.query(BaseRenderWorker).all()
@classmethod
def save_state(cls):

View File

@@ -31,7 +31,7 @@ def string_to_status(string):
for stat in RenderStatus:
if stat.value == string:
return stat
return RenderStatus.ERROR
return RenderStatus.UNDEFINED
class BaseRenderWorker(Base):
@@ -41,6 +41,8 @@ class BaseRenderWorker(Base):
input_path = Column(String)
output_path = Column(String)
date_created = Column(DateTime)
start_time = Column(DateTime)
end_time = Column(DateTime)
renderer = Column(String)
renderer_version = Column(String)
priority = Column(Integer)
@@ -48,6 +50,7 @@ class BaseRenderWorker(Base):
client = Column(String)
name = Column(String)
file_hash = Column(String)
_status = Column(String)
engine = None
@@ -97,6 +100,18 @@ class BaseRenderWorker(Base):
self.is_finished = False
self.last_output = None
@property
def status(self):
return self._status
@status.setter
def status(self, value):
self._status = value.value
@status.getter
def status(self):
return string_to_status(self._status)
def validate(self):
if not os.path.exists(self.input_path):
raise FileNotFoundError(f"Cannot find input path: {self.input_path}")
@@ -285,6 +300,9 @@ class BaseRenderWorker(Base):
worker_data['percent_complete'] = self.percent_complete()
worker_data['time_elapsed'] = self.time_elapsed()
worker_data['status'] = self.status.value
worker_data['renderer'] = self.renderer
worker_data['name'] = self.name
worker_data['renderer_version'] = self.renderer_version
keys_to_remove = ['thread', 'process'] # remove unwanted keys from dict
for key in worker_data.keys():
if key.startswith('_'):

View File

@@ -16,7 +16,6 @@ import yaml
from flask import Flask, request, render_template, send_file, after_this_request, Response, redirect, url_for, abort
from werkzeug.utils import secure_filename
from lib.scheduled_job import ScheduledJob
from lib.render_queue import RenderQueue, JobNotFoundError
from lib.render_workers.worker_factory import RenderWorkerFactory
from lib.render_workers.base_worker import string_to_status, RenderStatus