From 05e6a3446ce193a66e1cc3c7b45b072c9c9077ed Mon Sep 17 00:00:00 2001 From: Mingbo Peng Date: Thu, 2 May 2024 17:41:20 -0400 Subject: [PATCH] fix(WatchJobStatus): use ListJobs to get a job status without full job arguments. --- src/PollinationSDK/Wrapper/ScheduledJobInfo.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/PollinationSDK/Wrapper/ScheduledJobInfo.cs b/src/PollinationSDK/Wrapper/ScheduledJobInfo.cs index b239e4ae..2267f72f 100644 --- a/src/PollinationSDK/Wrapper/ScheduledJobInfo.cs +++ b/src/PollinationSDK/Wrapper/ScheduledJobInfo.cs @@ -169,7 +169,18 @@ public async Task WatchJobStatusAsync(Action progressAction = de var jobId = this.JobID; LogHelper.LogInfo($"Checking job [{proj.Owner.Name}/{proj.Name}/{jobId}]."); - var cloudJob = api.GetJob(proj.Owner.Name, proj.Name, jobId); + // retrieve a slim CloudJob via ListJobs api + var jobIds = new List() { jobId }; + var owner = proj.Owner.Name; + var projName = proj.Name; + var getAJobFromJobList = new Func(() => + { + var jobList = api.ListJobs(owner, projName, jobIds, page: 1, perPage: 1); + var j = jobList.Resources.FirstOrDefault(); + return j; + }); + + var cloudJob = getAJobFromJobList(); var status = cloudJob.Status; var startTime = status.StartedAt; LogHelper.LogInfo($"Init status: {status.ToJson()}"); @@ -201,7 +212,7 @@ public async Task WatchJobStatusAsync(Action progressAction = de // update status await Task.Delay(1000); - cloudJob = api.GetJob(proj.Owner.Name, proj.Name, jobId); + cloudJob = getAJobFromJobList(); status = cloudJob.Status; //_simulation = new Simulation(proj, simuId); } @@ -213,7 +224,7 @@ public async Task WatchJobStatusAsync(Action progressAction = de var finishMessage = GetCloudJobDoneMessage(this.CloudJob); progressAction?.Invoke(finishMessage); - LogHelper.LogInfo($"Finished checking job [{proj.Owner.Name}/{proj.Name}/{jobId}]: [{finishMessage}]."); + LogHelper.LogInfo($"Finished checking job [{owner}/{projName}/{jobId}]: [{finishMessage}]."); return finishMessage; }