One of the things I appreciate about SLURM is that I can write simple statements like this

   squeue -t R -a -O
   
"nodelist:20,jobid:8,username:14,timelimit:14,timeused:12,PARTITION:13,QOS:18,command:0

that shows the list of running jobs along with stats showing when they can be expected to finish, or this

   squeue  -t S,CG,CF,CD,CA,F,TO,PR,BF,NF,SE -a -O
   
"nodelist:20,PARTITION:13,qos:18,state:12,jobid:8,username:12,endtime:21,reason:0"

that shows exiting jobs along with what nodes they will be releasing or putting into an unusable state. Pending jobs are trickier, though. I'd like to separate the lists as follows:

    1. Jobs that have an estimated start-time.
    2. Jobs that will run but don't have an estimated start time.
    3. Jobs that aren't expected to run, (for example) being on HOLD or
       requiring nodes that are down.

since I'd be printing different information in each case.
I don't see any way to control this with command-line parameters, instead I'm grep-ing through the lists to filter out different cases, and then stripping out the fields I don't want to print, which is ugly and obtuse.
Do any of you have a simple way to do this?
I could ask for squeue to allow me to specify the REASON field, or to differentiate more states of PENDING for jobs that are on HOLD etc.
But that would be a long way off, and could break other usages.
Thanks,

                  Carl


Reply via email to