diff --git a/src/api/api_server.py b/src/api/api_server.py index dc6fe47..25d2cdb 100755 --- a/src/api/api_server.py +++ b/src/api/api_server.py @@ -286,8 +286,10 @@ def add_job_handler(): try: if request.is_json: jobs_list = [request.json] if not isinstance(request.json, list) else request.json + logger.debug(f"Received add_job JSON: {jobs_list}") elif request.form.get('json', None): jobs_list = json.loads(request.form['json']) + logger.debug(f"Received add_job form: {jobs_list}") else: # Cleanup flat form data into nested structure form_dict = {k: v for k, v in dict(request.form).items() if v} @@ -301,6 +303,7 @@ def add_job_handler(): args['raw'] = form_dict.get('raw_args', None) form_dict['args'] = args jobs_list = [form_dict] + logger.debug(f"Received add_job data: {jobs_list}") except Exception as e: err_msg = f"Error processing job data: {e}" logger.error(err_msg) diff --git a/src/engines/blender/blender_worker.py b/src/engines/blender/blender_worker.py index 7c10a88..8128d0c 100644 --- a/src/engines/blender/blender_worker.py +++ b/src/engines/blender/blender_worker.py @@ -28,7 +28,6 @@ class BlenderRenderWorker(BaseRenderWorker): self.start_frame = int(self.scene_info.get('start_frame', 1)) self.end_frame = int(self.scene_info.get('end_frame', self.start_frame)) self.project_length = (self.end_frame - self.start_frame) + 1 - self.current_frame = -1 def generate_worker_subprocess(self): diff --git a/src/engines/core/base_worker.py b/src/engines/core/base_worker.py index 44eebfa..c3ccbf9 100644 --- a/src/engines/core/base_worker.py +++ b/src/engines/core/base_worker.py @@ -35,6 +35,7 @@ class BaseRenderWorker(Base): project_length = Column(Integer) start_frame = Column(Integer) end_frame = Column(Integer, nullable=True) + current_frame = Column(Integer) parent = Column(String, nullable=True) children = Column(JSON) name = Column(String) @@ -75,7 +76,7 @@ class BaseRenderWorker(Base): # Frame Ranges self.project_length = -1 - self.current_frame = 0 # should this be a 1 ? + self.current_frame = -1 # negative indicates not started self.start_frame = 0 # should this be a 1 ? self.end_frame = None @@ -304,7 +305,6 @@ class BaseRenderWorker(Base): 'children': self.children, 'date_created': self.date_created, 'start_time': self.start_time, - 'end_time': self.end_time, 'status': self.status.value, 'file_hash': self.file_hash, 'percent_complete': self.percent_complete(), @@ -314,6 +314,7 @@ class BaseRenderWorker(Base): 'errors': getattr(self, 'errors', None), 'start_frame': self.start_frame, 'end_frame': self.end_frame, + 'current_frame': self.current_frame, 'total_frames': self.total_frames, 'last_output': getattr(self, 'last_output', None), 'log_path': self.log_path() diff --git a/src/engines/ffmpeg/ffmpeg_worker.py b/src/engines/ffmpeg/ffmpeg_worker.py index 687d35b..7d69529 100644 --- a/src/engines/ffmpeg/ffmpeg_worker.py +++ b/src/engines/ffmpeg/ffmpeg_worker.py @@ -19,7 +19,6 @@ class FFMPEGRenderWorker(BaseRenderWorker): "/dev/null"], stderr=subprocess.STDOUT).decode('utf-8') found_frames = re.findall('frame=\s*(\d+)', stream_info) self.project_length = found_frames[-1] if found_frames else '-1' - self.current_frame = -1 def generate_worker_subprocess(self):