Exemple #1
0
 /// <inheritdoc />
 public void Add(IJobHistoryEntry historyEntry)
 {
     _jobHistory.Add(historyEntry);
     _lastExecutions[historyEntry.JobKey] = historyEntry;
     if (historyEntry.JobResult == JobResult.Success)
     {
         _lastSuccessfulExecutions[historyEntry.JobKey] = historyEntry;
     }
 }
        /// <inheritdoc />
        public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution,
                                        DateTime now)
        {
            var lastExecutionTime = lastSuccessfulExecution?.ExecutionTime ?? DateTime.MinValue;

            if (now > StartTime && lastExecutionTime < StartTime && now < StartTime + SlotTime)
            {
                return(Priority);
            }
            else
            {
                return(0);
            }
        }
 /// <inheritdoc />
 public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution,
                                 DateTime now)
 {
     if (lastSuccessfulExecution == null)
     {
         //Hint: Delayed retry
         if (lastExecution != null && lastExecution.ExecutionTime + RetryDelay > now)
         {
             return(0);
         }
         return(Priority);
     }
     else
     {
         return(0);
     }
 }
Exemple #4
0
        /// <inheritdoc />
        public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution,
                                        IJobHistoryEntry lastSuccessfulExecution,
                                        DateTime now)
        {
            if (lastExecution == null)
            {
                return(Priority);
            }

            if (lastExecution.ExecutionTime + Interval < now)
            {
                var delay             = now - (lastExecution.ExecutionTime + Interval);
                var delayTotalMinutes = (int)delay.TotalMinutes * Priority;
                return(Math.Max(delayTotalMinutes, Priority));
            }

            return(0);
        }
        /// <inheritdoc />
        public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, DateTime now)
        {
            var basePriority = _intervalSchedule.GetExecutionPriority(jobKey, lastExecution, lastSuccessfulExecution, now);

            if (basePriority > 0)
            {
                return(basePriority);
            }
            if (lastExecution.JobResult == JobResult.Failure)
            {
                // Don't retry immediately
                if (lastExecution.ExecutionTime + RetryDelay > now)
                {
                    return(0);
                }

                return(Priority);
            }

            return(basePriority);
        }
Exemple #6
0
 public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution,
                                 DateTime now)
 {
     throw new NotImplementedException();
 }
 /// <inheritdoc />
 public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution,
                                 DateTime now)
 {
     return(Priority);
 }