有一个任务列表和他们的时间表。说任务 1 - 每天中午 12 点 任务 2 - 星期一、星期三 - 晚上 9 点想按照他们的日程安排解雇他们。
是否可以将它们注册到任务调度程序或 c# 中的其他调度程序\计时器,并具有唯一的上下文 - 任务 ID。在回调(比如某个事件)时,可以从上下文中获取 taskid 并使用 taskid,我可以触发操作。
基本上需要在已通过的上下文满足预定时间时进行回调。我的代码最清楚在预定时间内必须做什么。
你为什么不尝试使用quartz.net。这个调度器支持任务 ID 甚至调度上下文。还有很好的文档和大量示例。
这是任务(又名作业)的示例,执行上下文是从调度程序发送的。
public class DumbJob : IJob
{
public DumbJob() {
}
public void Execute(JobExecutionContext context)
{
Console.WriteLine("DumbJob is executing.");
}
}
顺便说一句,不要忘记使调度程序静态 - 以避免被垃圾收集。我以前已经遇到过这个问题。