public void TestResumeAllCrontabs() { ScheduleMediator.ResumeAll(); //线程睡眠 Thread.Sleep(6000); }
public void TestRecoverCrontabs() { ScheduleMediator.Recover(); //线程睡眠 Thread.Sleep(6000); }
public void TestResumeCrontab() { //开始调度 TimeSpan timeSpan = new TimeSpan(0, 0, 2); RecurrenceStrategy recurrenceStrategy = new RecurrenceStrategy(timeSpan); ShowTimeCrontab showTimeCrontab = new ShowTimeCrontab("Hello World !", recurrenceStrategy); Assert.IsTrue(showTimeCrontab.Count == 0); ScheduleMediator.Schedule(showTimeCrontab, 0); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(showTimeCrontab.Count == 3); //暂停 ScheduleMediator.Pause(showTimeCrontab.Id); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(showTimeCrontab.Count == 3); //恢复 ScheduleMediator.Resume(showTimeCrontab.Id); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(showTimeCrontab.Count > 3); }
public void Cleanup() { if (ResolveMediator.ContainerBuilt) { ResolveMediator.Dispose(); } ScheduleMediator.Clear(); }
public void TestScheduleTimePoint_Error() { //清空调度任务 ScheduleMediator.Clear(); //开始调度,在当前时间2秒后执行 ScheduleMediator.Schedule(StubAlarmTask.Detail, DateTime.Now.AddSeconds(2)); Assert.IsNull(StubAlarmTask.ReferenceParam); }
public void Init() { if (!ResolveMediator.ContainerBuilt) { IServiceCollection builder = ResolveMediator.GetServiceCollection(); builder.RegisterConfigs(); ResolveMediator.Build(); } ScheduleMediator.Clear(); }
public void TestScheduleInspect_Error() { //清空调度任务 ScheduleMediator.Clear(); //清空参考系 StubShowTimeTask.ReferenceTimes.Clear(); //开始调度,每2秒执行一次 ScheduleMediator.ScheduleBySecond(StubShowTimeTask.Detail, 2); Assert.IsTrue(!StubShowTimeTask.ReferenceTimes.Any()); }
public void TestException() { string log = $"{AppDomain.CurrentDomain.BaseDirectory}\\ScheduleLogs\\ExceptionLogs\\{DateTime.Today:yyyyMMdd}.txt"; //开始调度 TimeSpan timeSpan = new TimeSpan(0, 0, 2); RecurrenceStrategy recurrenceStrategy = new RecurrenceStrategy(timeSpan); ShowTimeCrontab showTimeCrontab = new ShowTimeCrontab("Exception", recurrenceStrategy); ScheduleMediator.Schedule(showTimeCrontab, 0); //线程睡眠 Thread.Sleep(5100); Assert.IsTrue(File.Exists(log)); }
public void TestScheduleInspect() { //开始调度 TimeSpan timeSpan = new TimeSpan(0, 0, 2); TimeSpanStrategy timeSpanStrategy = new TimeSpanStrategy(timeSpan); ShowTimeCrontab showTimeCrontab = new ShowTimeCrontab("Hello World !", timeSpanStrategy); Assert.IsTrue(showTimeCrontab.Count == 0); ScheduleMediator.Schedule(showTimeCrontab); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(showTimeCrontab.Count == 3); }
public void TestScheduleInspect() { //清空调度任务 ScheduleMediator.Clear(); //清空参考系 StubShowTimeTask.ReferenceTimes.Clear(); //开始调度,每2秒执行一次 ScheduleMediator.ScheduleBySecond(StubShowTimeTask.Detail, 2); //线程睡眠 Thread.Sleep(4100); Assert.IsTrue(StubShowTimeTask.ReferenceTimes.Count == 3); }
public void TestFindAllCrontabs() { TimeSpan timeSpan = new TimeSpan(0, 0, 2); RecurrenceStrategy recurrenceStrategy = new RecurrenceStrategy(timeSpan); string cronExpression = DateTime.Now.AddSeconds(2).ToCronExpression(); CronExpressionStrategy cronExpressionStrategy = new CronExpressionStrategy(cronExpression); ShowTimeCrontab showTimeCrontab = new ShowTimeCrontab("Hello World !", recurrenceStrategy); AlarmCrontab alarmCrontab = new AlarmCrontab("Hello World !", cronExpressionStrategy); ScheduleMediator.Schedule(showTimeCrontab, 0); ScheduleMediator.Schedule(alarmCrontab, 0); IList <ICrontab> crontabs = ScheduleMediator.FindAll(); Assert.IsTrue(crontabs.Count == 2); }
public void TestScheduleTimePoint() { //开始调度 FixedTimeStrategy fixedTimeStrategy = new FixedTimeStrategy(DateTime.Now.AddSeconds(3)); AlarmCrontab alarmCrontab = new AlarmCrontab("Hello World !", fixedTimeStrategy); Assert.IsTrue(alarmCrontab.Count == 0); Assert.IsFalse(alarmCrontab.Rung); ScheduleMediator.Schedule(alarmCrontab); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(alarmCrontab.Count == 1); Assert.IsTrue(alarmCrontab.Rung); }
public void TestScheduleRepeatedTimePoint() { //开始调度 TimeSpan triggerTime = DateTime.Now.AddSeconds(3).TimeOfDay; RepeatedTimeStrategy repeatedTimeStrategy = new RepeatedTimeStrategy(triggerTime); AlarmCrontab alarmCrontab = new AlarmCrontab("Hello World !", repeatedTimeStrategy); Assert.IsTrue(alarmCrontab.Count == 0); Assert.IsFalse(alarmCrontab.Rung); ScheduleMediator.Schedule(alarmCrontab, 0); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(alarmCrontab.Count == 1); Assert.IsTrue(alarmCrontab.Rung); }
public void TestScheduleTimePoint() { //开始调度 string cronExpression = DateTime.Now.AddSeconds(2).ToCronExpression(); CronExpressionStrategy cronExpressionStrategy = new CronExpressionStrategy(cronExpression); AlarmCrontab alarmCrontab = new AlarmCrontab("Hello World !", cronExpressionStrategy); Assert.IsTrue(alarmCrontab.Count == 0); Assert.IsFalse(alarmCrontab.Rung); ScheduleMediator.Schedule(alarmCrontab); //线程睡眠 Thread.Sleep(5000); Assert.IsTrue(alarmCrontab.Count == 1); Assert.IsTrue(alarmCrontab.Rung); }
public void TestCrontabConfiguration() { ScheduleMediator.Schedule <RecurrenceCrontab>(); }