安排任务每1小时运行一次

时间:2013-09-28 20:47:30

标签: c#

您好我想安排一个每1小时执行一次的任务。

但是,任务消耗的时间有点“随机”,这意味着它可能需要30分钟,或者也可能需要1小时15分钟。一次只能运行一个任务。

我希望能够执行任务,如果间隔时间过去,它将直接运行任务,如果时间没有过去,它将等到1小时完成。

这样做的最佳方式是什么?

我开始关注FluentScheduler,但它不允许我使用我描述的方案配置时间表。

1 个答案:

答案 0 :(得分:0)

感谢有用的评论,我将探索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);

我知道这很脆弱,但它会完成这项工作。 感谢您的评论!我会探索更多的可能性。