diff --git a/lib/client/gnt_job.py b/lib/client/gnt_job.py index b1fa7f69c715586ec1edf9545b47a277889305df..81f0bd1dfaeb3a691b5bbe66219269203f10e0db 100644 --- a/lib/client/gnt_job.py +++ b/lib/client/gnt_job.py @@ -245,6 +245,26 @@ def CancelJobs(opts, args, cl=None, _stdout_fn=ToStdout, _ask_fn=AskUser): lambda cl, job_id: cl.CancelJob(job_id)) +def ChangePriority(opts, args): + """Change priority of jobs. + + @param opts: Command line options + @type args: list + @param args: Job IDs + @rtype: int + @return: Exit code + + """ + if opts.priority is None: + ToStderr("--priority option must be given.") + return constants.EXIT_FAILURE + + return _MultiJobAction(opts, args, None, None, None, + "Change priority of job(s) listed above?", + lambda cl, job_id: + cl.ChangeJobPriority(job_id, opts.priority)) + + def ShowJobs(opts, args): """Show detailed information about jobs. @@ -494,6 +514,12 @@ commands = { "watch": ( WatchJob, [ArgJobId(min=1, max=1)], [], "<job-id>", "Follows a job and prints its output as it arrives"), + "change-priority": ( + ChangePriority, [ArgJobId()], + [PRIORITY_OPT, FORCE_OPT, _PENDING_OPT, _QUEUED_OPT, _WAITING_OPT], + "--priority <priority> {[--force] {--pending | --queued | --waiting} |" + " <job-id> [<job-id> ...]}", + "Change the priority of jobs"), } diff --git a/man/gnt-job.rst b/man/gnt-job.rst index 773d8a3754294043cd9cdcb6573751616ac8ebd4..c7a0e8a0ec70d2b64e46795fdb9ccd263c4f4c1c 100644 --- a/man/gnt-job.rst +++ b/man/gnt-job.rst @@ -50,6 +50,18 @@ not yet started to run can be canceled; that is, jobs in either the ``--queued`` and ``waiting`` can be used to cancel all jobs in the respective state, ``--pending`` includes both. +CHANGE-PRIORITY +~~~~~~~~~~~~~~~ + +| **change-priority** --priority {low | normal | high} +| {[\--force] {\--pending | \--queued | \--waiting} | *job-id* ...} + +Changes the priority of one or multiple pending jobs. Jobs currently +running have only the priority of remaining opcodes changed. +``--priority`` must be specified. ``--queued`` and ``waiting`` can be +used to re-prioritize all jobs in the respective state, ``--pending`` +includes both. To skip a confirmation, pass ``--force``. + INFO ~~~~