+func renice(ctr arvados.Container) {
+ nice := niceness(ctr.Priority)
+ oldnice := sqCheck.GetNiceness(ctr.UUID)
+ if nice == oldnice || oldnice == -1 {
+ return
+ }
+ log.Printf("updating slurm nice value to %d (was %d)", nice, oldnice)
+ sqCheck.L.Lock()
+ err := theConfig.slurm.Renice(ctr.UUID, nice)
+ sqCheck.L.Unlock()
+
+ if err != nil {
+ log.Printf("renice: %s", err)
+ time.Sleep(time.Second)
+ return
+ }
+ if sqCheck.HasUUID(ctr.UUID) {
+ log.Printf("container %s has arvados priority %d, slurm nice %d",
+ ctr.UUID, ctr.Priority, sqCheck.GetNiceness(ctr.UUID))
+ }
+}
+