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 @classmethod
def load_state(cls): def load_state(cls):
cls.job_queue = cls.session.query(ScheduledJob).all() cls.job_queue = cls.session.query(BaseRenderWorker).all()
@classmethod @classmethod
def save_state(cls): def save_state(cls):

View File

@@ -31,7 +31,7 @@ def string_to_status(string):
for stat in RenderStatus: for stat in RenderStatus:
if stat.value == string: if stat.value == string:
return stat return stat
return RenderStatus.ERROR return RenderStatus.UNDEFINED
class BaseRenderWorker(Base): class BaseRenderWorker(Base):
@@ -41,6 +41,8 @@ class BaseRenderWorker(Base):
input_path = Column(String) input_path = Column(String)
output_path = Column(String) output_path = Column(String)
date_created = Column(DateTime) date_created = Column(DateTime)
start_time = Column(DateTime)
end_time = Column(DateTime)
renderer = Column(String) renderer = Column(String)
renderer_version = Column(String) renderer_version = Column(String)
priority = Column(Integer) priority = Column(Integer)
@@ -48,6 +50,7 @@ class BaseRenderWorker(Base):
client = Column(String) client = Column(String)
name = Column(String) name = Column(String)
file_hash = Column(String) file_hash = Column(String)
_status = Column(String)
engine = None engine = None
@@ -97,6 +100,18 @@ class BaseRenderWorker(Base):
self.is_finished = False self.is_finished = False
self.last_output = None 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): def validate(self):
if not os.path.exists(self.input_path): if not os.path.exists(self.input_path):
raise FileNotFoundError(f"Cannot find input path: {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['percent_complete'] = self.percent_complete()
worker_data['time_elapsed'] = self.time_elapsed() worker_data['time_elapsed'] = self.time_elapsed()
worker_data['status'] = self.status.value 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 keys_to_remove = ['thread', 'process'] # remove unwanted keys from dict
for key in worker_data.keys(): for key in worker_data.keys():
if key.startswith('_'): 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 flask import Flask, request, render_template, send_file, after_this_request, Response, redirect, url_for, abort
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from lib.scheduled_job import ScheduledJob
from lib.render_queue import RenderQueue, JobNotFoundError from lib.render_queue import RenderQueue, JobNotFoundError
from lib.render_workers.worker_factory import RenderWorkerFactory from lib.render_workers.worker_factory import RenderWorkerFactory
from lib.render_workers.base_worker import string_to_status, RenderStatus from lib.render_workers.base_worker import string_to_status, RenderStatus