本文整理汇总了C#中FluentScheduler.Model.Schedule.Execute方法的典型用法代码示例。如果您正苦于以下问题:C# Schedule.Execute方法的具体用法?C# Schedule.Execute怎么用?C# Schedule.Execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FluentScheduler.Model.Schedule
的用法示例。
在下文中一共展示了Schedule.Execute方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Should_Remove_LongRunning_Task_But_Keep_Running
public void Should_Remove_LongRunning_Task_But_Keep_Running()
{
var name = "longrunning";
var schedule = new Schedule(() => { Thread.Sleep(100); });
schedule.WithName(name).ToRunNow().AndEvery(2).Seconds();
schedule.Execute();
Assert.IsTrue(TaskManager.RunningSchedules.Any(task => task.Name == name));
TaskManager.RemoveTask(name);
Assert.IsNull(TaskManager.GetSchedule(name));
Assert.IsTrue(TaskManager.RunningSchedules.Any(task => task.Name == name));
Thread.Sleep(2042); // wait until a second run would normally be executed
Assert.IsFalse(TaskManager.RunningSchedules.Any(task => task.Name == name));
}
示例2: Should_Be_Able_To_Schedule_Multiple_ITasks
public void Should_Be_Able_To_Schedule_Multiple_ITasks()
{
var task1 = new Mock<ITask>();
var task2 = new Mock<ITask>();
task1.Setup(m => m.Execute());
task2.Setup(m => m.Execute());
var schedule = new Schedule(task1.Object).AndThen(task2.Object);
schedule.Execute();
while (TaskManager.RunningSchedules.Any())
{
Thread.Sleep(1);
}
task1.Verify(m => m.Execute(), Times.Once());
task2.Verify(m => m.Execute(), Times.Once());
}
示例3: Should_Be_Able_To_Schedule_Multiple_Simple_Methods
public void Should_Be_Able_To_Schedule_Multiple_Simple_Methods()
{
// Arrange
var task1 = new Mock<ITask>();
var task2 = new Mock<ITask>();
task1.Setup(m => m.Execute());
task2.Setup(m => m.Execute());
// Act
var schedule = new Schedule(() => task1.Object.Execute()).AndThen(() => task2.Object.Execute());
schedule.Execute();
while (TaskManager.RunningSchedules.Any())
Thread.Sleep(1);
// Assert
task1.Verify(m => m.Execute(), Times.Once());
task2.Verify(m => m.Execute(), Times.Once());
}
示例4: Should_Remove_LongRunning_Task_But_Keep_Running
public void Should_Remove_LongRunning_Task_But_Keep_Running()
{
// Act
var schedule = new Schedule(() => Thread.Sleep(100));
schedule.WithName("remove long running task").ToRunNow().AndEvery(2).Seconds();
schedule.Execute();
// Assert
Assert.IsTrue(TaskManager.RunningSchedules.Any(s => s.Name == "remove long running task"));
// Act
TaskManager.RemoveTask("remove long running task");
// Assert
Assert.IsNull(TaskManager.GetSchedule("remove long running task"));
Assert.IsTrue(TaskManager.RunningSchedules.Any(s => s.Name == "remove long running task"));
Thread.Sleep(2000);
Assert.IsFalse(TaskManager.RunningSchedules.Any(s => s.Name == "remove long running task"));
}
示例5: Should_Execute_Tasks_In_Order
public void Should_Execute_Tasks_In_Order()
{
var task1 = new Mock<ITask>();
var task2 = new Mock<ITask>();
var task1Runtime = DateTime.MinValue;
var task2Runtime = DateTime.MinValue;
task1.Setup(m => m.Execute()).Callback(() =>
{
task1Runtime = DateTime.Now;
Thread.Sleep(1);
});
task2.Setup(m => m.Execute()).Callback(() => task2Runtime = DateTime.Now);
var schedule = new Schedule(() => task1.Object.Execute()).AndThen(() => task2.Object.Execute());
schedule.Execute();
while (TaskManager.RunningSchedules.Any())
{
Thread.Sleep(1);
}
Assert.Less(task1Runtime.Ticks, task2Runtime.Ticks);
}