public void Create_InvalidArgs_Exception() { Assert.Catch <ArgumentException>(() => { TaskManagerOptions.Create("Test: ", new string[] { "-eventLog", "xpto" }); }); }
public void Create_OnlyStatsStrategy_Instance() { var actual = TaskManagerOptions.Create("Test: ", new string[] { "-s", "Memory" }); Assert.IsInstanceOf <WindowsEventLog>(actual.EventLog); Assert.IsInstanceOf <MemoryStatsStrategy>(actual.StatsStrategy); Assert.IsFalse(actual.NonStop); Assert.AreEqual(0, actual.NonStopWait); }
public void Create_OnlyEventLog_Instance() { var actual = TaskManagerOptions.Create("Test: ", new string[] { "-e", "Console" }); Assert.IsInstanceOf <ConsoleEventLog>(actual.EventLog); Assert.IsInstanceOf <PerformanceCounterStatsStrategy>(actual.StatsStrategy); Assert.IsFalse(actual.NonStop); Assert.AreEqual(0, actual.NonStopWait); }
public void Create_NoArgs_Instance() { var actual = TaskManagerOptions.Create("Test: ", new string[0]); Assert.IsInstanceOf <WindowsEventLog>(actual.EventLog); Assert.IsInstanceOf <PerformanceCounterStatsStrategy>(actual.StatsStrategy); Assert.IsFalse(actual.NonStop); Assert.AreEqual(0, actual.NonStopWait); }
public void Create_Help_Instance() { var actual = TaskManagerOptions.Create("Test: ", new string[] { "-h" }); Assert.IsTrue(actual.ShowHelp); StringAssert.Contains("Test: ", actual.HelpText); Assert.IsNull(actual.EventLog); Assert.IsNull(actual.StatsStrategy); Assert.IsFalse(actual.NonStop); Assert.AreEqual(0, actual.NonStopWait); }
private TaskManager GetTaskManager() { // Task registration bus var taskRegistrationSyncBus = _services.GetRequiredService <ISynchronizedMessageBusContext <IMessageBus <TaskRegistrationProducer> > >(); // Task progress bus var taskProgressSyncBus = _services.GetRequiredService <ISynchronizedMessageBusContext <IMessageBus <TaskProgressProducer> > >(); var options = new TaskManagerOptions(TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(60)); var taskManager = new TaskManager(options, taskRegistrationSyncBus, taskProgressSyncBus); return(taskManager); }
public void Create_AllArgs_Instance() { var actual = TaskManagerOptions.Create("Test: ", new string[] { "-e", "Console", "-s", "Memory", "-non-stop", "-non-stop-wait", "5000" }); Assert.IsInstanceOf <ConsoleEventLog>(actual.EventLog); Assert.IsInstanceOf <MemoryStatsStrategy>(actual.StatsStrategy); Assert.IsTrue(actual.NonStop); Assert.AreEqual(5000, actual.NonStopWait); actual = TaskManagerOptions.Create("Test: ", new string[] { "-e", "Windows", "-s", "PerformanceCounter", "-non-stop", "-non-stop-wait", "1000" }); Assert.IsInstanceOf <WindowsEventLog>(actual.EventLog); Assert.IsInstanceOf <PerformanceCounterStatsStrategy>(actual.StatsStrategy); Assert.IsTrue(actual.NonStop); Assert.AreEqual(1000, actual.NonStopWait); }
public void TestForceCancelTaskAndRecovery() { // MyTaskAutoCancelTask // AliveCycle = 1 sec // LockCycle - 2 secs // Runs for - 1 hours (till force cancelled) var options = new TaskManagerOptions() { MainLoopWait = 100, MaxWorkerThreads = 1 }; using (var manager = TaskManagerFactory.Create(() => TestDbContext.Create(), options)) { manager.RegisterTaskType(typeof(MyTaskLongTask), new TaskSettings("CBC68EFE-532D-44C7-87D8-3443636F6425") { AliveCycle = new TimeSpan(TimeSpan.TicksPerSecond) }); var longTaskId = manager.EnqueueSingleTask <MyTaskLongTask>(); manager.StartListener(); Thread.Sleep(500); manager.RegisterTaskType(typeof(MyTask), new TaskSettings("BC54E6F5-9EDF-48C2-8765-269BCC472DDF")); var taskId = manager.EnqueueSingleTask <MyTask>(); int tickCount = 0; manager.SubscribeToListener(() => { if (tickCount++ > 2) { manager.StopListener(); } }); manager.WaitTillListenerStops(); Assert.True(manager.LatestListenerException == null); using (var db = TestDbContext.Create()) { var longTask = db.SingleTasks.Where(t => t.Id == longTaskId).FirstOrDefault(); Assert.True(longTask.Status == SingleTaskStatus.CompletedAborted); var task = db.SingleTasks.Where(t => t.Id == taskId).FirstOrDefault(); Assert.True(task.Status == SingleTaskStatus.Completed); } } }