示例#1
0
        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);
        }
示例#2
0
        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);
        }