jobflow_remote.cli.job module#

jobflow_remote.cli.job.delete(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = False, delete_output: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19cd0>] = False, delete_files: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19dd0>] = False, delete_all: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19ed0>] = 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 0x7f48f4697310>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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 0x7f48f4a18dd0>], job_index: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a19110>] = None, all_states: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f44e8790>] = False, force: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f44e8850>] = 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 0x7f48f4a18dd0>], filenames: ~typing.Annotated[list[str], <typer.models.ArgumentInfo object at 0x7f48f44e83d0>], job_index: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a19110>] = None, path: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f44e8450>] = 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 0x7f48f4a18dd0>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None) None[source]#

List of files in the run_dir of the selected Job.

jobflow_remote.cli.job.job_dump(job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, file_path: ~typing.Annotated[str, <typer.models.OptionInfo object at 0x7f48f4697b90>] = '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: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, pid: ~typing.Annotated[str, <typer.models.OptionInfo object at 0x7f48f4696490>] = None, show_none: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f46964d0>] = False, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0) None[source]#

Detailed information on a specific job.

jobflow_remote.cli.job.jobs_list(job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, max_results: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18990>] = 100, sort: ~jobflow_remote.cli.utils.Annotated[~jobflow_remote.cli.utils.SortOption, <typer.models.OptionInfo object at 0x7f48f4a18ad0>] = SortOption.UPDATED_ON, reverse_sort: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a18c90>] = False, locked: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a196d0>] = False, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f46962d0>] = False, running: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4696310>] = False, count: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a1a3d0>] = False, stored_data_keys: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a1a4d0>] = None, cli_output_keys: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a1a5d0>] = None, color: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f46963d0>] = 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 0x7f48f4a18dd0>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, file_path: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4697d50>] = None, load: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4697d90>] = False) None[source]#

Fetch the output of a Job from the output Store.

jobflow_remote.cli.job.pause(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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 0x7f48f46979d0>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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 0x7f48f4a18dd0>], job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None) None[source]#

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

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

Generate a report about the Jobs in the database.

jobflow_remote.cli.job.rerun(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19ad0>] = False, force: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4696650>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = False, no_delete: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4696690>] = 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 0x7f48f4697650>], replace: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4697690>] = False, qresources: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4697750>] = False, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = False) None[source]#

Resume a Job that was previously PAUSED or STOPPED.

jobflow_remote.cli.job.retry(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19ad0>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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 0x7f48f4a33d90>], job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19ad0>] = 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: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a199d0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19ad0>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = 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: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f48f4a18dd0>] = None, job_index: ~types.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f48f4a18f50>] = None, shell: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4696d90>] = '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 0x7f48f4697110>], job_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f746fad0>] = None, db_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32bd0>] = None, flow_id: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a32e10>] = None, state: ~types.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f48f4a32f10>] = None, start_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f760afd0>] = None, end_date: ~types.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f48f4a33f50>] = None, name: ~types.Annotated[str | None, <typer.models.OptionInfo object at 0x7f48f4a33910>] = None, metadata: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a9d0>] = None, select_worker_name: ~types.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f48f4a33a90>] = None, custom_query: ~types.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f48f4a1a850>] = None, days: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a181d0>] = None, hours: ~types.Annotated[int | None, <typer.models.OptionInfo object at 0x7f48f4a18290>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f48f4a18550>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f48f4a19bd0>] = False)[source]#

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