Skip to content

Commit 54eb7c5

Browse files
committed
fix: getJobParameters expects a list
1 parent e701f13 commit 54eb7c5

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/DIRAC/WorkloadManagementSystem/Agent/StalledJobAgent.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ def _failStalledJobs(self, jobID):
254254

255255
def _getJobPilotStatus(self, jobID):
256256
"""Get the job pilot status."""
257-
result = getJobParameters(jobID, "Pilot_Reference")
257+
result = getJobParameters([jobID], "Pilot_Reference")
258258
if not result["OK"]:
259259
return result
260260
pilotReference = result["Value"].get("Pilot_Reference")
@@ -389,11 +389,11 @@ def _sendAccounting(self, jobID):
389389
if lastHeartBeatTime is not None and lastHeartBeatTime > endTime:
390390
endTime = lastHeartBeatTime
391391

392-
result = getJobParameters(jobID, "CPUNormalizationFactor")
393-
if not result["OK"] or not result["Value"]:
392+
result = getJobParameters([jobID], "CPUNormalizationFactor")
393+
if not result["OK"] or not result["Value"] or not result["Value"].get("CPUNormalizationFactor"):
394394
self.log.error(
395395
"Error getting Job Parameter CPUNormalizationFactor, setting 0",
396-
result.get("Message", "No such value"),
396+
result.get("Message"),
397397
)
398398
cpuNormalization = 0.0
399399
else:

src/DIRAC/WorkloadManagementSystem/DB/JobParametersDB.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def _createIndex(self, indexName: str) -> None:
6969
raise RuntimeError(result["Message"])
7070
self.log.always("Index created:", indexName)
7171

72-
def getJobParameters(self, jobIDs: int | list[int], vo: str, paramList=None) -> dict:
72+
def getJobParameters(self, jobIDs: int | list[int], vo: str, paramList: list[str] | None = None) -> dict:
7373
"""Get Job Parameters defined for jobID.
7474
Returns a dictionary with the Job Parameters.
7575
If paramList is empty - all the parameters are returned.

src/DIRAC/WorkloadManagementSystem/Service/JobMonitoringHandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ def export_getJobParameter(self, jobID, parName):
247247
:param str/int jobID: one single Job ID
248248
:param str parName: one single parameter name
249249
"""
250-
res = self.elasticJobParametersDB.getJobParameters(int(jobID), self.vo, [parName])
250+
res = getJobParameters([int(jobID)], parName, self.vo or "")
251251
if not res["OK"]:
252252
return res
253253
return S_OK(res["Value"].get(int(jobID), {}))
@@ -266,7 +266,7 @@ def export_getJobOptParameters(cls, jobID):
266266
def export_getJobParameters(self, jobIDs, parName=None):
267267
"""
268268
:param str/int/list jobIDs: one single job ID or a list of them
269-
:param str parName: one single parameter name, a list or None (meaning all of them)
269+
:param str parName: one single parameter name, or None (meaning all of them)
270270
"""
271271
if not isinstance(jobIDs, list):
272272
jobIDs = [jobIDs]

0 commit comments

Comments
 (0)