@@ -209,8 +209,13 @@ def ApproveJob(redis_conn, job, dataHandlerOri=None):
209
209
if "preemptionAllowed" in jobParams and jobParams ["preemptionAllowed" ] is True :
210
210
logger .info ("Job {} preemptible, approve!" .format (job_id ))
211
211
detail = [{"message" : "waiting for available preemptible resource." }]
212
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatusDetail" , base64 .b64encode (json .dumps (detail )))
213
- dataHandler .UpdateJobTextField (job_id , "jobStatus" , "queued" )
212
+
213
+ dataFields = {
214
+ "jobStatusDetail" : base64 .b64encode (json .dumps (detail )),
215
+ "jobStatus" : "queued"
216
+ }
217
+ conditionFields = {"jobId" : job_id }
218
+ dataHandler .UpdateJobTextFields (conditionFields , dataFields )
214
219
update_job_state_latency (redis_conn , job_id , "approved" )
215
220
if dataHandlerOri is None :
216
221
dataHandler .Close ()
@@ -250,8 +255,13 @@ def ApproveJob(redis_conn, job, dataHandlerOri=None):
250
255
return False
251
256
252
257
detail = [{"message" : "waiting for available resource." }]
253
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatusDetail" , base64 .b64encode (json .dumps (detail )))
254
- dataHandler .UpdateJobTextField (job_id , "jobStatus" , "queued" )
258
+
259
+ dataFields = {
260
+ "jobStatusDetail" : base64 .b64encode (json .dumps (detail )),
261
+ "jobStatus" : "queued"
262
+ }
263
+ conditionFields = {"jobId" : job_id }
264
+ dataHandler .UpdateJobTextFields (conditionFields , dataFields )
255
265
update_job_state_latency (redis_conn , job_id , "approved" )
256
266
if dataHandlerOri is None :
257
267
dataHandler .Close ()
@@ -293,8 +303,13 @@ def UpdateJobStatus(redis_conn, launcher, job, notifier=None, dataHandlerOri=Non
293
303
# TODO: Refactor
294
304
detail = get_job_status_detail (job )
295
305
detail = job_status_detail_with_finished_time (detail , "finished" )
296
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatusDetail" , base64 .b64encode (json .dumps (detail )))
297
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatus" , "finished" )
306
+
307
+ dataFields = {
308
+ "jobStatusDetail" : base64 .b64encode (json .dumps (detail )),
309
+ "jobStatus" : "finished"
310
+ }
311
+ conditionFields = {"jobId" : job ["jobId" ]}
312
+ dataHandler .UpdateJobTextFields (conditionFields , dataFields )
298
313
299
314
# Retain the old code for reference
300
315
# if jobDescriptionPath is not None and os.path.isfile(jobDescriptionPath):
@@ -311,8 +326,13 @@ def UpdateJobStatus(redis_conn, launcher, job, notifier=None, dataHandlerOri=Non
311
326
if job ["jobStatus" ] != "running" :
312
327
started_at = k8sUtils .localize_time (datetime .datetime .now ())
313
328
detail = [{"startedAt" : started_at , "message" : "started at: {}" .format (started_at )}]
314
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatusDetail" , base64 .b64encode (json .dumps (detail )))
315
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatus" , "running" )
329
+
330
+ dataFields = {
331
+ "jobStatusDetail" : base64 .b64encode (json .dumps (detail )),
332
+ "jobStatus" :"running"
333
+ }
334
+ conditionFields = {"jobId" : job ["jobId" ]}
335
+ dataHandler .UpdateJobTextFields (conditionFields , dataFields )
316
336
317
337
elif result == "Failed" :
318
338
logger .warning ("Job %s fails, cleaning..." , job ["jobId" ])
@@ -326,9 +346,14 @@ def UpdateJobStatus(redis_conn, launcher, job, notifier=None, dataHandlerOri=Non
326
346
# TODO: Refactor
327
347
detail = get_job_status_detail (job )
328
348
detail = job_status_detail_with_finished_time (detail , "failed" )
329
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatusDetail" , base64 .b64encode (json .dumps (detail )))
330
- dataHandler .UpdateJobTextField (job ["jobId" ], "jobStatus" , "failed" )
331
- dataHandler .UpdateJobTextField (job ["jobId" ], "errorMsg" , "pod failed" )
349
+
350
+ dataFields = {
351
+ "jobStatusDetail" : base64 .b64encode (json .dumps (detail )),
352
+ "jobStatus" : "failed" ,
353
+ "errorMsg" : "pod failed"
354
+ }
355
+ conditionFields = {"jobId" : job ["jobId" ]}
356
+ dataHandler .UpdateJobTextFields (conditionFields , dataFields )
332
357
333
358
# Retain the old code for reference
334
359
# if jobDescriptionPath is not None and os.path.isfile(jobDescriptionPath):
0 commit comments