题
我正在寻找一个 C# 库,最好是开源的,它可以让我以相当的灵活性来安排任务。具体来说,我应该能够安排事情每 N 个时间单位运行一次,以及“每个工作日 XXXX 时间”或“每个星期一 XXXX 时间”。更多的功能就更好了,但不是必需的。这是我想在 Azure WorkerRole 中使用的东西,它会立即排除 Windows 计划任务、“at”、“Cron”以及任何需要安装和/或 GUI 才能操作的第三方应用程序。我正在寻找图书馆。
解决方案
http://quartznet.sourceforge.net/
“Quartz.NET非常propular的端口(原文如此!)开源Java作业调度框架,石英。”
PS:聪明人的话,不要试图直接浏览到quartz.net在工作的时候; - )
其他提示
我用石英回到我的Java天,这真是棒极了。我现在用了一段净工作和它的作品甚至更好(当然里面还有数年它已经stabalized)。所以我当然第二个它的建议。
你应该看看,我刚刚开始玩另一个有趣的事情是在.NET 4.0中新的System.Threading.Tasks。我刚刚被使用任务并行工作,它需要多核心/处理器的巨大优势。我注意到,书中有一类名为的TaskScheduler,我还没有详细的看着它,但它有一个像QueueTask,DeQueTask等方法可能是价值至少一些调查。
请参阅一种新的任务计划类库.NET CodeProject上。
我读到 石英 在这个问题中 如何安排 C# Windows 服务每天执行任务?. 。它是一个 C# 库,允许灵活调度。
石英似乎是一个很好的解决方案。
最近我(今年)不得不写上一个大项目,我工作的一个自定义的任务调度。他们也无法在指定的时间使用Windows任务计划程序,并且还希望凭借上传组件(通过ASP.net的网站)的执行自定义功能的能力,并有服务执行相应的任务。
事情是诚实有点恶梦(与其说设计和实施,但调度逻辑是有点阻力)。
我会强烈建议决定“滚你自己”(a.k.a推倒重来!)之前,用尽所有其他途径。