public void Update(BackgroundJobInfo jobInfo) { if (jobInfo.IsAbandoned) { DeleteAsync(jobInfo.Id); } }
public virtual Task UpdateAsync(BackgroundJobInfo jobInfo) { if (jobInfo.IsAbandoned) { return(DeleteAsync(jobInfo.Id)); } return(Task.FromResult(0)); }
public Task UpdateAsync(BackgroundJobInfo jobInfo) { if (jobInfo.IsAbandoned) { return DeleteAsync(jobInfo.Id); } return Task.FromResult(0); }
protected virtual async Task TryUpdateAsync(IBackgroundJobStore store, BackgroundJobInfo jobInfo) { try { await store.UpdateAsync(jobInfo); } catch (Exception updateEx) { Logger.LogException(updateEx); } }
protected virtual void TryUpdate(IBackgroundJobStore store, BackgroundJobInfo jobInfo) { try { store.Update(jobInfo); } catch (Exception updateEx) { Logger.LogException(updateEx); } }
protected virtual void TryUpdate(BackgroundJobInfo jobInfo) { try { Store.UpdateAsync(jobInfo); } catch (Exception updateEx) { Logger.LogException(updateEx); } }
public virtual async Task UpdateAsync(BackgroundJobInfo jobInfo) { var backgroundJobRecord = await BackgroundJobRepository.FindAsync(jobInfo.Id); if (backgroundJobRecord == null) { return; } ObjectMapper.Map(jobInfo, backgroundJobRecord); await BackgroundJobRepository.UpdateAsync(backgroundJobRecord); }
public void Update(BackgroundJobInfo jobInfo) { var backgroundJobRecord = BackgroundJobRepository.Find(jobInfo.Id); if (backgroundJobRecord == null) { return; } ObjectMapper.Map(jobInfo, backgroundJobRecord); BackgroundJobRepository.Update(backgroundJobRecord); }
protected virtual DateTime?CalculateNextTryTime(BackgroundJobInfo jobInfo, IClock clock) { var nextWaitDuration = WorkerOptions.DefaultFirstWaitDuration * (Math.Pow(WorkerOptions.DefaultWaitFactor, jobInfo.TryCount - 1)); var nextTryDate = jobInfo.LastTryTime?.AddSeconds(nextWaitDuration) ?? clock.Now.AddSeconds(nextWaitDuration); if (nextTryDate.Subtract(jobInfo.CreationTime).TotalSeconds > WorkerOptions.DefaultTimeout) { return(null); } return(nextTryDate); }
protected virtual DateTime?CalculateNextTryTime(BackgroundJobInfo jobInfo) //TODO: Move to another place to override easier { var nextWaitDuration = WorkerOptions.DefaultFirstWaitDuration * (Math.Pow(WorkerOptions.DefaultWaitFactor, jobInfo.TryCount - 1)); var nextTryDate = jobInfo.LastTryTime.HasValue ? jobInfo.LastTryTime.Value.AddSeconds(nextWaitDuration) : Clock.Now.AddSeconds(nextWaitDuration); if (nextTryDate.Subtract(jobInfo.CreationTime).TotalSeconds > WorkerOptions.DefaultTimeout) { return(null); } return(nextTryDate); }
public async Task InsertAsync() { var jobInfo = new BackgroundJobInfo { Id = Guid.NewGuid(), JobArgs = "args1", JobName = "name1" }; await _backgroundJobStore.InsertAsync( jobInfo ).ConfigureAwait(false); var jobInfo2 = await _backgroundJobStore.FindAsync(jobInfo.Id).ConfigureAwait(false); jobInfo2.ShouldNotBeNull(); jobInfo2.Id.ShouldBe(jobInfo.Id); jobInfo2.JobArgs.ShouldBe(jobInfo.JobArgs); jobInfo2.JobName.ShouldBe(jobInfo.JobName); }
protected virtual async Task <Guid> EnqueueAsync(string jobName, object args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan?delay = null) { var jobInfo = new BackgroundJobInfo { Id = GuidGenerator.Create(), JobName = jobName, JobArgs = Serializer.Serialize(args), Priority = priority, CreationTime = Clock.Now, NextTryTime = Clock.Now }; if (delay.HasValue) { jobInfo.NextTryTime = Clock.Now.Add(delay.Value); } await Store.InsertAsync(jobInfo); return(jobInfo.Id); }
public void Insert(BackgroundJobInfo jobInfo) { BackgroundJobRepository.Insert( ObjectMapper.Map <BackgroundJobInfo, BackgroundJobRecord>(jobInfo) ); }
public virtual async Task InsertAsync(BackgroundJobInfo jobInfo) { await BackgroundJobRepository.InsertAsync( ObjectMapper.Map <BackgroundJobInfo, BackgroundJobRecord>(jobInfo) ); }
public void Insert(BackgroundJobInfo jobInfo) { _jobs[jobInfo.Id] = jobInfo; }
public Task InsertAsync(BackgroundJobInfo jobInfo) { _jobs[jobInfo.Id] = jobInfo; return Task.FromResult(0); }
public void Update(BackgroundJobInfo jobInfo) { BackgroundJobRepository.Update( ObjectMapper.Map <BackgroundJobInfo, BackgroundJobRecord>(jobInfo) ); }
public async Task UpdateAsync(BackgroundJobInfo jobInfo) { await BackgroundJobRepository.UpdateAsync( ObjectMapper.Map <BackgroundJobInfo, BackgroundJobRecord>(jobInfo) ); }