func run(uuid string, crunchRunCommand string, priorityPollInterval int) {
stdinReader, stdinWriter := io.Pipe()
- cmd := exec.Command("sbatch", "--job-name="+uuid)
+ cmd := exec.Command("sbatch", "--job-name="+uuid, "--share")
cmd.Stdin = stdinReader
cmd.Stderr = os.Stderr
cmd.Stdout = os.Stderr
return
}
- fmt.Fprintf(stdinWriter, "#!/bin/sh\nexec %s %s\n", crunchRunCommand, uuid)
+ fmt.Fprintf(stdinWriter, "#!/bin/sh\nexec '%s' '%s'\n", crunchRunCommand, uuid)
stdinWriter.Close()
cmd.Wait()
cancelcmd := exec.Command("scancel", "--name="+uuid)
cancelcmd.Run()
}
+ if container.State == "Complete" {
+ priorityTicker.Stop()
+ }
}
}
}()