jobflow_remote.cli.job module#

jobflow_remote.cli.job.delete(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = False, delete_output: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63ed0>] = False, delete_files: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63fd0>] = False, delete_all: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df64110>] = 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 0x7f050d9939d0>], job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = 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_get(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f050df63450>], filenames: ~typing.Annotated[list[str], <typer.models.ArgumentInfo object at 0x7f050d9a0ad0>], job_index: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df635d0>] = None, path: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050d9a0b90>] = 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 0x7f050df63450>], job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None) None[source]#

List of files in the run_dir of the selected Job.

jobflow_remote.cli.job.job_dump(job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, file_path: ~typing.Annotated[str, <typer.models.OptionInfo object at 0x7f050d9a0390>] = '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 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, pid: ~typing.Annotated[str, <typer.models.OptionInfo object at 0x7f050d991050>] = None, show_none: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d991110>] = False, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0) None[source]#

Detailed information on a specific job.

jobflow_remote.cli.job.jobs_list(job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, max_results: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63210>] = 100, sort: ~jobflow_remote.cli.utils.Annotated[~jobflow_remote.cli.utils.SortOption, <typer.models.OptionInfo object at 0x7f050df632d0>] = SortOption.UPDATED_ON, reverse_sort: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63390>] = False, locked: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df638d0>] = False, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d991410>] = False, stored_data_keys: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050d991510>] = None, cli_output_keys: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050d9912d0>] = None)[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 0x7f050df63450>], job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, file_path: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050d9a0590>] = None, load: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d9a05d0>] = 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 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = 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 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = False) None[source]#

Resume a Job that was previously PAUSED.

jobflow_remote.cli.job.priority(priority_value: ~typing.Annotated[int, <typer.models.ArgumentInfo object at 0x7f050d9a01d0>], job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = 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 0x7f050df63450>], job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = 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 0x7f050d9934d0>] = ReportInterval.DAYS, num_intervals: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050d993510>] = 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 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63cd0>] = False, force: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d991c90>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = False, no_delete: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d993090>] = 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 0x7f050d993bd0>], replace: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d993cd0>] = False, qresources: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050d993d90>] = False, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = 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.retry(job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63cd0>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = 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(state: ~jobflow_remote.jobs.state.Annotated[~jobflow_remote.jobs.state.JobState, <typer.models.ArgumentInfo object at 0x7f050df625d0>], job_db_id: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f050df63450>], job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None) None[source]#

Sets the state of a Job 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 0x7f050df63450>] = None, job_index: ~typing.Annotated[int | None, <typer.models.ArgumentInfo object at 0x7f050df63510>] = None, job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, wait: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df63bd0>] = None, break_lock: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63cd0>] = False, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = False) None[source]#

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

jobflow_remote.cli.job.worker(worker_name: ~typing.Annotated[str, <typer.models.ArgumentInfo object at 0x7f050d993890>], job_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df60cd0>] = None, db_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df61150>] = None, flow_id: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df615d0>] = None, state: ~typing.Annotated[list[~jobflow_remote.jobs.state.JobState] | None, <typer.models.OptionInfo object at 0x7f050df61bd0>] = None, start_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62950>] = None, end_date: ~typing.Annotated[~datetime.datetime | None, <typer.models.OptionInfo object at 0x7f050df62d90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f050df621d0>] = None, metadata: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64950>] = None, select_worker_name: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f050df62350>] = None, custom_query: ~typing.Annotated[~jobflow_remote.cli.types.DictType | None, <typer.models.OptionInfo object at 0x7f050df64910>] = None, days: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62e50>] = None, hours: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f050df62f10>] = None, verbosity: ~typing.Annotated[int, <typer.models.OptionInfo object at 0x7f050df62fd0>] = 0, raise_on_error: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f050df63dd0>] = False)[source]#

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