嗨,我想安排一个任务,每1小时执行一次。
但是任务所花费的时间有点“随机”,这意味着它可能需要30分钟,也可能需要1小时15分钟。一次只能运行一个任务。
我希望能够执行任务,如果间隔时间过去了,它将直接运行任务,如果没有运行,它将等待1小时完成。
做这件事最好的方法是什么?
我开始研究FluentScheduler,但是它不允许我用我描述的场景来配置计划。
发布于 2013-10-19 20:05:05
感谢您的有益评论,我将探索Quartz.NET --它似乎是一个强大的调度程序。
我成功地完成了一个小的(一个任务)“调度程序”,在每个任务之间间隔一个小时运行。
我正在使用TPL.Dataflow,这是我的代码
TransformBlock<int, int> block = new TransformBlock<int, int>(i =>
{
//Thread.Sleep(5000);
DoSomething();
return i + 1;
});
block.LinkTo(block);
block.Post(0);我知道这是非常脆弱的,但它将完成这项工作。谢谢你的评论!我会探索更多的可能性。
https://stackoverflow.com/questions/19071504
复制相似问题