diff --git a/addon/flamenco/__init__.py b/addon/flamenco/__init__.py index 9bd29191..744e90aa 100644 --- a/addon/flamenco/__init__.py +++ b/addon/flamenco/__init__.py @@ -156,6 +156,12 @@ def register() -> None: max=100, ) + bpy.types.Scene.flamenco_job_submit_as_paused = bpy.props.BoolProperty( + name="Flamenco Job Submit as Paused", + description="Whether the job is paused initially; Checked sets the job to `paused`, and Unchecked sets the job to `queued`", + default=False, + ) + preferences.register() worker_tags.register() operators.register() diff --git a/addon/flamenco/gui.py b/addon/flamenco/gui.py index f1850021..0fef1f3d 100644 --- a/addon/flamenco/gui.py +++ b/addon/flamenco/gui.py @@ -42,6 +42,7 @@ class FLAMENCO_PT_job_submission(bpy.types.Panel): col = layout.column(align=True) col.prop(context.scene, "flamenco_job_name", text="Job Name") col.prop(context.scene, "flamenco_job_priority", text="Priority") + col.prop(context.scene, "flamenco_job_submit_as_paused", text="Submit as Paused") # Refreshables: col = layout.column(align=True) diff --git a/addon/flamenco/job_submission.py b/addon/flamenco/job_submission.py index 21273399..95a7820b 100644 --- a/addon/flamenco/job_submission.py +++ b/addon/flamenco/job_submission.py @@ -33,6 +33,7 @@ log = logging.getLogger(__name__) def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]: from flamenco.manager.models import SubmittedJob, JobMetadata + from flamenco.manager.model.job_status import JobStatus propgroup = getattr(scene, "flamenco_job_settings", None) assert isinstance(propgroup, JobTypePropertyGroup), "did not expect %s" % ( @@ -44,6 +45,12 @@ def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]: priority = getattr(scene, "flamenco_job_priority", 50) + submit_as_paused = getattr(scene, "flamenco_job_submit_as_paused", False) + if submit_as_paused: + initial_status = JobStatus("paused") + else: + initial_status = JobStatus("queued") + job: SubmittedJob = SubmittedJob( name=scene.flamenco_job_name, type=propgroup.job_type.name, @@ -52,6 +59,7 @@ def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]: metadata=metadata, submitter_platform=platform.system().lower(), type_etag=propgroup.job_type.etag, + initial_status=initial_status, ) worker_tag: str = getattr(scene, "flamenco_worker_tag", "")