推荐一个C#任务调度库

我正在寻找一个C#库,最好是开放源代码,这将使我能够以相当大的灵活性安排任务。 具体而言,我应该能够安排每N个单位时间运行的事情,以及“XXXX时间的每个工作日”或“XXXX时间的每个星期一”。 比这更多的function将是很好,但不是必要的。 这是我想在Azure WorkerRole中使用的,它立即排除了Windows计划任务,“at”,“Cron”以及需要安装和/或GUI操作的任何第三方应用程序。 我在找图书馆

http://quartznet.sourceforge.net/

“Quartz.NET是一个很有前途的(sic!)开放源代码Java作业调度框架Quartz。”

PS:聪明人的话,不要试图只在工作时导航到quartz.net 😉

我在Java日子里使用Quartz,效果很好。 我现在正在使用它来进行一些.Net的工作,而且效果更好(当然这里有好几年了)。 所以我肯定是第二个build议。

另一个有趣的事情,你应该看看,我刚开始玩的是.NET 4.0中新的System.Threading.Tasks。 我刚刚使用并行工作的任务,并且占用了多核/处理器的很大优势。 我注意到里面有一个名为TaskScheduler的类,我没有详细的看过,但是它有QueueTask,DeQueTask等方法,至less值得一些调查。

请参阅Codeproject上用于.NET的新任务计划程序类库 。

我在这个问题上阅读了Quartz 如何安排一个C#Windows服务每天执行一项任务? 。 这是一个C#库,并允许灵活的调度。

石英似乎是一个不错的解决scheme。

我最近(今年)不得不在我正在开发的一个重大项目上编写自定义任务调度程序。 他们也无法使用Windows任务计划程序,也希望能够通过上传程序集(通过ASP.net网站)执行自定义function,并让服务在指定的时间执行相应的任务。

事情真的是一个噩梦(没有太多的devise和实施,但调度逻辑是有点拖累)。

我强烈build议在决定“推出自己的”之前耗尽所有其他途径(也就是重新发明轮子!)。

Aditi Technologies公司推出了一种名为Scheduler的新的基于云的调度程序 。

调度程序允许开发人员通过在简单或复杂的CRON计划上运行的HTTP webhook来安排执行任务。