public MockedFailedScheduledTaskEngine(ScheduledTaskMonitorContext context, ScheduledTaskExecutionInfo fakeItemForGetScheduledTasksToRun = null) : base(context) { ExitStrategy.Quitting = false; // <<==== IMPORTANT! Otherwise the engine "loop" will just quit before it has even started _getReturnItem = fakeItemForGetScheduledTasksToRun; FinalStatusOutcomeDeterminedHandler += outcomeStatusId => { StatusResult = outcomeStatusId; ExitStrategy.Quitting = true; }; }
public NormalScheduledTaskEngine(ScheduledTaskMonitorContext context) : base(context) { }
protected ScheduledTaskBaseOperation(ScheduledTaskMonitorContext context) : base(context) { ScheduledTaskClassTypes = context.ScheduledTaskTypes; }
public FailedScheduledTaskEngine(ScheduledTaskMonitorContext context) : base(context) { }
private void StartFailingScheduledTaskMonitor() { Logger.Info("Starting Scheduled Task Failing Monitoring Engine...", LogCategories.EngineStart, ignoreVerbosityConfig: true); var failedScheduledTaskContext = new ScheduledTaskMonitorContext( SleepIntervalTimeInSeconds, scheduledTaskTypes, LogCategories.FailingScheduledTaskMonitor, new FailingScheduledTaskThreadSafeDataAccess(), ExitStrategy, OnFailedScheduledTaskMonitorLooped); foreach (var task in WorkerOperationFactory<FailedScheduledTaskEngine>.Construct(failedScheduledTaskContext)) { ActiveEngines.Add(task); } }