From 8bc0097e9029f6360b377c16a99d5f3988dca9de Mon Sep 17 00:00:00 2001 From: wq <2332054245@qq.com> Date: Thu, 3 Jul 2025 16:23:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcci=20return=E5=92=8Ccci=20lk?= =?UTF-8?q?p-renew=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/job.cr | 9 +++++---- src/lifecycle.cr | 4 ++-- src/update_job_parameter.cr | 10 ++++++++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/job.cr b/src/job.cr index e877cc25e..8c7eb2d0d 100644 --- a/src/job.cr +++ b/src/job.cr @@ -323,7 +323,7 @@ class JobHash ihealth idata_readiness priority - renew_seconds + borrow_seconds timeout_seconds deadline_utc ) @@ -875,10 +875,11 @@ class JobHash end def renew_addtime(secs) - if self.renew_seconds? - self.renew_seconds += secs + if self.borrow_seconds? + self.borrow_seconds += secs else - self.renew_seconds = secs + self.borrow_seconds = self.timeout_seconds + self.borrow_seconds += secs end end diff --git a/src/lifecycle.cr b/src/lifecycle.cr index b45d24511..69615551c 100644 --- a/src/lifecycle.cr +++ b/src/lifecycle.cr @@ -27,8 +27,8 @@ def get_timeout(job, stage) : Int32 when "running" secs = job.timeout_seconds when "renew" - if job.hash_int32.has_key? "renew_seconds" - secs = job.renew_seconds + if job.hash_int32.has_key? "borrow_seconds" + secs = job.borrow_seconds return secs else JOB_STAGE_TIMEOUT[stage] diff --git a/src/update_job_parameter.cr b/src/update_job_parameter.cr index f576db5f0..61fe0af4a 100644 --- a/src/update_job_parameter.cr +++ b/src/update_job_parameter.cr @@ -1,5 +1,6 @@ # SPDX-License-Identifier: MulanPSL-2.0+ # Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. +require "time" class Sched @@ -12,6 +13,7 @@ class Sched # Update job attributes from a hash of parameters def update_job_from_hash(params : Hash(String, String)) : Result + results = [] of String job_id = params["job_id"]? return Result.error(HTTP::Status::BAD_REQUEST, "Error: Missing job_id") unless job_id @@ -40,6 +42,7 @@ class Sched update_milestones(job, value) when "renew_seconds" result = renew_job(job, value) + results << result.message return result unless result.success end end @@ -48,7 +51,7 @@ class Sched send_job_event(job.id64, params.to_json) report_workflow_job_event(job.id64, job) - Result.success("") + Result.success(results.join("\n")) end # Helper method to update job state or stage @@ -80,7 +83,10 @@ class Sched end job.renew_addtime(value.to_i32) - Result.success("Renewed job for #{value} seconds") + borrow_seconds = job.hash_int32["borrow_seconds"]? || 0 + dispatch_time = Time.parse_iso8601(job.hash_plain["dispatch_time"]?) + new_time = dispatch_time + borrow_seconds.seconds + Result.success(new_time.to_s("%Y-%m-%dT%H:%M:%S%:z")) end end -- Gitee