|
@@ -270,7 +270,8 @@ class TorquePool(NodePool):
|
|
|
|
|
|
def getJobInfo(self, jobId=None):
|
|
|
#torque error code when credentials fail, a temporary condition sometimes.
|
|
|
- credFailureErrorCode = 171
|
|
|
+ credFailureErrorCode = 171
|
|
|
+ jobNonExistentErrorCode = 153
|
|
|
credFailureRetries = 10
|
|
|
i = 0
|
|
|
self.__jobInfo = None
|
|
@@ -283,6 +284,12 @@ class TorquePool(NodePool):
|
|
|
if exitCode == 0:
|
|
|
self.__jobInfo = qstatInfo
|
|
|
break
|
|
|
+ elif exitCode == jobNonExistentErrorCode:
|
|
|
+ # This really means that the job completed
|
|
|
+ # However, setting only job_state for now, not
|
|
|
+ # any other attributes, as none seem required.
|
|
|
+ self.__jobInfo = { 'job_state' : 'C' }
|
|
|
+ break
|
|
|
else:
|
|
|
if exitCode == credFailureErrorCode:
|
|
|
time.sleep(1)
|