X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3194c1b24ffe6fff5fcb2f620ca6ee43741e3462..63bae17d784c2c1522a087d71a0fcb2a9b6eddcd:/services/crunch-dispatch-slurm/slurm.go diff --git a/services/crunch-dispatch-slurm/slurm.go b/services/crunch-dispatch-slurm/slurm.go index bd193778b3..9e9f45270f 100644 --- a/services/crunch-dispatch-slurm/slurm.go +++ b/services/crunch-dispatch-slurm/slurm.go @@ -13,10 +13,11 @@ import ( ) type Slurm interface { + Batch(script io.Reader, args []string) error Cancel(name string) error - Renice(name string, nice int) error QueueCommand(args []string) *exec.Cmd - Batch(script io.Reader, args []string) error + Release(name string) error + Renice(name string, nice int64) error } type slurmCLI struct{} @@ -54,7 +55,11 @@ func (scli *slurmCLI) QueueCommand(args []string) *exec.Cmd { return exec.Command("squeue", args...) } -func (scli *slurmCLI) Renice(name string, nice int) error { +func (scli *slurmCLI) Release(name string) error { + return scli.run(nil, "scontrol", []string{"release", "Name=" + name}) +} + +func (scli *slurmCLI) Renice(name string, nice int64) error { return scli.run(nil, "scontrol", []string{"update", "JobName=" + name, fmt.Sprintf("Nice=%d", nice)}) }