2009-02-03 33 views
47

我正在寻找一个C#库,最好是开源的,它可以让我安排具有相当大的灵活性的任务。具体来说,我应该能够安排每N个单位时间以及“XXXX时间的每个工作日”或“XXXX时间的每个星期一”运行。比这更多的功能会很好,但不是必需的。这是我想在Azure WorkerRole中使用的,它立即排除Windows Scheduled Tasks,“at”,“Cron”以及需要安装和/或GUI操作的任何第三方应用程序。我正在寻找一个图书馆。推荐C#任务调度库

+1

查看本地可用的Azure调度程序,2014年推出 - http://azure.microsoft.com/en-us/services/scheduler/ – mvark 2014-06-22 14:21:25

回答

55

http://quartznet.sourceforge.net/

“Quartz.NET非常propular的端口(原文如此)的开源Java作业调度框架,石英。”

PS:聪明人的话,不要试图直接浏览工作;-)

+0

是quartz.net使用Windows调度程序还是定时器进行调度? – 2012-12-14 15:30:03

3

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

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

事情是诚实地有点噩梦(没有太多的设计和实施,但调度逻辑有点拖累)。

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

7

我在Java日子里使用了Quartz,它工作得很好。我现在正在使用它来进行一些.Net工作,并且它的工作效果更好(当然这里有很多年,因此它已经稳定下来了)。所以我肯定会对此提出建议。

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

1

Aditi Technologies有一个新的基于云的调度程序,名为Scheduler

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