推荐一个C#任务调度库

ssm*_*ith 51 c# scheduled-tasks azure

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

Tib*_*Ana 61

http://quartznet.sourceforge.net/

"Quartz.NET是一个非常有道理的(原文!)开源Java作业调度框架的端口,Quartz."

PS:明智的话,不要试图在工作时导航到quartz.net ;-)

  • 如果您在2017年,请使用HangFire.http://hangfire.io/ HangFire是在.NET和.NET Core应用程序中执行计划任务和后台处理的简便方法.无需Windows服务或单独的过程.还配有漂亮的仪表板UI开箱即用.以持久存储为后盾.开放和免费用于商业用途.相关SO问答:http://stackoverflow.com/q/27875631/325521 (3认同)

Mik*_*keD 7

我在Java时代使用了Quartz,效果很好.我现在正在使用它来进行一些.Net的工作,它的工作效果更好(当然,它有很多年才能实现稳定).所以我当然是第二个建议.

你应该看到的另一件有趣的事情,我刚刚开始使用的是.Net 4.0中新的System.Threading.Tasks.我刚刚使用任务来并行化工作,它充分利用了多核/处理器.我注意到有一个名为TaskScheduler的类,我没有详细查看它,但它有QueueTask,DeQueTask等方法.至少可能值得一些调查.


Gal*_*ian 6

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


Tun*_*dey 5

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