예제 #1
0
 private JobLifeCycleManager(
     IJobCancelledDetector cancelletionDetector,
     [Parameter(typeof(SleepIntervalParameter))] int sleepIntervalSec)
 {
     _cancellationDetector = cancelletionDetector;
     _timerIntervalSec     = sleepIntervalSec;
     InitTimer();
 }
        private IEnumerable <TestObserver> JobLifeCycleMangerEventTest(
            IJobCancelledDetector detector,
            bool subscribeObserver    = true,
            int observerCount         = 1,
            int signalCheckPeriodSec  = 1,
            int waitForEventPeriodSec = 2)
        {
            var manager = Activator.CreateInstance(
                typeof(JobLifeCycleManager),
                BindingFlags.NonPublic | BindingFlags.Instance,
                null,
                new object[] { detector, signalCheckPeriodSec },
                null,
                null) as JobLifeCycleManager;

            var observers = Enumerable.Range(1, observerCount)
                            .Select(_ => new TestObserver(manager, subscribeObserver))
                            .ToList();

            Thread.Sleep(waitForEventPeriodSec * 1000);

            return(observers);
        }