public void Add(InsideModel.Models.Task queueTask) { taskRepository.Add(queueTask); taskRepository.SaveChanges(); TimeSpan?initialInvisibility = null; if (serverTime.Now < queueTask.EarliestExecution) { initialInvisibility = queueTask.EarliestExecution - serverTime.Now; } var taskQueueMessage = new TaskQueueMessage() { Message = queueTask.Id.ToString() }; var message = new CloudQueueMessage(taskQueueMessage.Message); queue.AddMessage(message, null, initialInvisibility); }
public void ReQueue(InsideModel.Models.Task queueTask) { if (queueTask.NumTries > 0) { queueTask.EarliestExecution = serverTime.Now + GetNextExecutionDelay(queueTask.NumTries); } var taskQueueMessage = new TaskQueueMessage() { Message = queueTask.Id.ToString() }; var message = new CloudQueueMessage(taskQueueMessage.Message); TimeSpan?initialInvisibility = null; if (serverTime.Now < queueTask.EarliestExecution) { initialInvisibility = queueTask.EarliestExecution - serverTime.Now; } queue.AddMessage(message, null, initialInvisibility); }