I have encountered a cluster using the PBS/Torque scheduling system on which the qstat and tracejob commands give no information about job IDs that have finished running. Instead the checkjob command must be used. This prevents the PBS backend from determining which jobs have completed and thus the Engine class is unable to transition completed jobs to the TERMINATED state. I think new regex's will need to be written to parse the checkjob output, as I think it is different from the tracejob output.
Here is some sample output from the checkjob command:
job 8219309
AName: test.sh
State: Completed
Creds: user:MYUSERNAME group:MYUSERNAME account:ANACCOUNT class:ACLASS qos:debug
WallTime: 00:00:00 of 00:10:00
SubmitTime: Sun May 7 15:24:45
(Time Queued Total: 00:00:25 Eligible: 00:00:25)
StartTime: Sun May 7 15:25:10
NodeMatchPolicy: EXACTNODE
Total Requested Tasks: 1
Req[0] TaskCount: 1 Partition: QDR
Memory >= 756M Disk >= 0 Swap >= 0
Dedicated Resources Per Task: PROCS: 1 MEM: 600M
Allocated Nodes:
[ACLUSTERNODE]
IWD: /home/MYUSERNAME/jobs
StartCount: 1
Partition List: QDR,DDR,SHARED
StartPriority: 50009
Reservation '8219309' (-00:01:21 -> 00:08:39 Duration: 00:10:00)