public static async T.Task <bool> UpdateJobAsync(this CloudUtilities u, JobType type, int jobId, Action <Job> action, CancellationToken token, ILogger logger = null) { var pKey = u.GetJobPartitionKey(type, jobId, true); bool result1 = await u.UpdateJobAsync(pKey, action, token, logger); pKey = u.GetJobPartitionKey(type, jobId, false); bool result2 = await u.UpdateJobAsync(pKey, action, token, logger); return(result1 && result2); }
public static async T.Task FailJobWithEventAsync(this CloudUtilities u, JobType jobType, int jobId, string message, CancellationToken token, ILogger logger = null) { await T.Task.WhenAll( u.AddJobsEventAsync(jobType, jobId, message, EventType.Alert, token, logger), u.UpdateJobAsync(jobType, jobId, j => j.State = JobState.Failed, token, logger)); }