本文整理汇总了C#中Scheduler.ScheduleTask方法的典型用法代码示例。如果您正苦于以下问题:C# Scheduler.ScheduleTask方法的具体用法?C# Scheduler.ScheduleTask怎么用?C# Scheduler.ScheduleTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scheduler
的用法示例。
在下文中一共展示了Scheduler.ScheduleTask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LetsSeeIfEverythingLooksGood
public void LetsSeeIfEverythingLooksGood()
{
using (Scheduler scheduler = new Scheduler())
{
for (int i = 0; i < 100; i++)
{
//this is how to schedule a task
TimeSpan ts = TimeSpan.FromSeconds(random.Next(10)); // timespan in the next 10 seconds
object taskData = new { Title = string.Format("Do it in {0} seconds", ts.TotalSeconds) }; //task data object can be anything System.Helper.Json can handle
scheduler.ScheduleTask(Tasks.Todo, ts, taskData); //thread safe
}
}//the scheduler must be always disposed to makes sure everything was saved
using (Scheduler scheduler = new Scheduler())
{
IDisposable trigger = Execute.AtInterval(TimeSpan.FromSeconds(1), x => //execute every second
{
//this is how to retrive tasks
foreach (ScheduledTask task in scheduler.FetchScheduledItems(Tasks.Todo))
{
dynamic data = task.GetData(); // there's also a generic version: T GetData<T>()
string title = data.Title.ToString();
Trace.WriteLine(string.Format("{2} - Processed task {0} - Category: {1} ", task.Id, title, DateTime.Now.ToLongTimeString()));
scheduler.Close(task); //close the task (otherwise it will be executed again later)
}
});
Thread.Sleep(10000); //wait to let the timer execute incomming tasks
trigger.Dispose(); //stops executing
}
}