jobflow_remote.cli.job module#

jobflow_remote.cli.job.delete(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False, delete_output: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318850>]=False, delete_files: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318910>]=False, delete_all: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc793189d0>]=False) None[source]#

Delete Jobs individually. The Flow document will be updated accordingly but no consistency check is performed. The Flow may be left in an inconsistent state. For advanced users only.

jobflow_remote.cli.job.exec_config(exec_config_value: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc73392910>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>] = None, metadata: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>] = None, custom_query: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>] = False)[source]#

Set the exec_config for the selected Jobs. Only Jobs not in an evolving state (e.g. CHECKED_OUT, UPLOADED, …).

jobflow_remote.cli.job.files_delete(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>], job_index: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f77d0>] = None, all_states: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73393d90>] = False, force: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73393e10>] = False) None[source]#

Delete files from the Job’s execution folder.

jobflow_remote.cli.job.files_get(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>], filenames: ~typing.Annotated[list[str], <typer.models.ArgumentInfo object at 0x7fbc73393990>], job_index: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f77d0>] = None, path: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc733939d0>] = None) None[source]#

Retrieve files from the Job’s execution folder.

jobflow_remote.cli.job.files_list(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>] = None) None[source]#

List of files in the run_dir of the selected Job.

jobflow_remote.cli.job.job_dump(job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, file_path: Annotated[str, <typer.models.OptionInfo object at 0x7fbc73393150>]='jobs_dump.json') None[source]#

Dump to json the documents of the selected Jobs from the DB. For debugging.

jobflow_remote.cli.job.job_info(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, pid: Annotated[str, <typer.models.OptionInfo object at 0x7fbc73391990>]=None, show_none: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc733919d0>]=False, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0) None[source]#

Detailed information on a specific job.

jobflow_remote.cli.job.jobs_list(job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, max_results: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f7310>]=100, sort: SortOption, <typer.models.OptionInfo object at 0x7fbc792f73d0>]=SortOption.UPDATED_ON, reverse_sort: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc792f75d0>]=False, locked: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc792f7f90>]=False, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, latest_flow: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc73390090>]=None, error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73390690>]=False, running: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73390650>]=False, count: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318d90>]=False, stored_data_keys: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc79318e50>]=None, cli_output_keys: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc79318f10>]=None, color: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73391890>]=False)[source]#

Get the list of Jobs in the database.

jobflow_remote.cli.job.output(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>] = None, file_path: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc73393310>] = None, load: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73393350>] = False) None[source]#

Fetch the output of a Job from the output Store.

jobflow_remote.cli.job.pause(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False) None[source]#

Pause a Job. Only READY and WAITING Jobs can be paused. The operation is reversible.

jobflow_remote.cli.job.play(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False) None[source]#

Resume a Job that was previously PAUSED or STOPPED. DEPRECATED: use resume instead

jobflow_remote.cli.job.priority(priority_value: ~typing.Annotated[int, <typer.models.ArgumentInfo object at 0x7fbc73392f90>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>] = None, metadata: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>] = None, custom_query: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>] = False)[source]#

Set the priority for the selected Jobs. Only Jobs not in an evolving state (e.g. CHECKED_OUT, UPLOADED, …).

jobflow_remote.cli.job.queue_out(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>] = None) None[source]#

Print the content of the output files produced by the queue manager.

jobflow_remote.cli.job.report(interval: ReportInterval, <typer.models.ArgumentInfo object at 0x7fbc73392090>]=ReportInterval.DAYS, num_intervals: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc733920d0>]=None)[source]#

Generate a report about the Jobs in the database.

jobflow_remote.cli.job.rerun(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, break_lock: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc793186d0>]=False, force: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73391a10>]=False, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False, no_delete: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73391b90>]=False) None[source]#

Rerun a Job. By default, this is limited to jobs that failed and children did not start or jobs that are running. The rerun Job is set to READY and children Jobs to WAITING. If possible, the associated job submitted to the remote queue will be cancelled. Most of the limitations can be overridden by the ‘force’ option. This could lead to inconsistencies in the overall state of the Jobs of the Flow. All the folders of the Jobs whose state are modified will also be deleted on the worker.

jobflow_remote.cli.job.resources(resources_value: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc73392c10>], replace: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73392c50>] = False, qresources: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc73392d10>] = False, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>] = None, metadata: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>] = None, custom_query: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>] = False)[source]#

Set the resources for the selected Jobs. Only Jobs not in an evolving state (e.g. CHECKED_OUT, UPLOADED, …)

jobflow_remote.cli.job.resume(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False) None[source]#

Resume a Job that was previously PAUSED or STOPPED.

jobflow_remote.cli.job.retry(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, break_lock: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc793186d0>]=False, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False) None[source]#

Retry to perform the operation that failed for a job in a REMOTE_ERROR state or reset the number of attempts at remote action, in order to allow the runner to try it again immediately.

jobflow_remote.cli.job.set_state(new_state: ~jobflow_remote.jobs.state.Annotated[~jobflow_remote.jobs.state.JobState, <typer.models.ArgumentInfo object at 0x7fbc792f6850>], job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>] = None, metadata: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>] = None, custom_query: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc793186d0>] = False) None[source]#

Sets the state of one or more Jobs to an arbitrary value. WARNING: No checks. This can lead to inconsistencies in the DB. Use with care.

jobflow_remote.cli.job.stop(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, job_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>]=None, db_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>]=None, flow_id: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>]=None, state: JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>]=None, start_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>]=None, end_date: datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>]=None, name: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>]=None, metadata: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>]=None, worker_name: Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>]=None, custom_query: Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>]=None, days: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>]=None, hours: Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>]=None, verbosity: Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>]=0, wait: Annotated[int, <typer.models.OptionInfo object at 0x7fbc79318510>]=None, break_lock: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc793186d0>]=False, raise_on_error: Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>]=False) None[source]#

Stop a Job. Only Jobs that did not complete or had an error can be stopped. If possible, the associated job submitted to the remote queue will be cancelled.

jobflow_remote.cli.job.todir(job_db_id: Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc792f7690>]=None, job_index: Annotated[int | None, <typer.models.ArgumentInfo object at 0x7fbc792f7710>]=None, shell: Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc73392250>]='bash')[source]#

Connect to the worker and go to the job run_dir.

jobflow_remote.cli.job.worker(worker_name: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7fbc73392710>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc7a238a50>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f4350>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f60d0>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7fbc792f61d0>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a2472d0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7fbc7a25d5d0>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7fbc792f6610>] = None, metadata: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79319090>] = None, select_worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7fbc792f6790>] = None, custom_query: ~types.Annotated[dict | None, <typer.models.OptionInfo object at 0x7fbc79318fd0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc7a22e550>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7fbc792f6e10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7fbc792f6f10>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fbc79318790>] = False)[source]#

Set the worker for the selected Jobs. Only Jobs not in an evolving state (e.g. CHECKED_OUT, UPLOADED, …).