Recommend a C# Task Scheduling Library [closed]

爱⌒轻易说出口 提交于 2019-12-17 07:07:55

问题


I'm looking for a C# library, preferably open source, that will let me schedule tasks with a fair amount of flexibility. Specifically, I should be able to schedule things to run every N units of time as well as "Every weekday at XXXX time" or "Every Monday at XXXX time". More features than that would be nice, but not necessary. This is something I want to use in an Azure WorkerRole, which immediately rules out Windows Scheduled Tasks, "at", "Cron", and any third party app that requires installation and/or a GUI to operate. I'm looking for a library.


回答1:


http://quartznet.sourceforge.net/

"Quartz.NET is a port of very propular(sic!) open source Java job scheduling framework, Quartz."

PS: Word to the wise, don't try to just navigate to quartz.net when at work ;-)




回答2:


I used Quartz back in my Java days and it worked great. I am now using it for some .Net work and it works even better (of course there are a number of years in there for it to have stabalized). So I certainly second the recommendations for it.

Another interesting thing you should look at, that I have just begun to play with is the new System.Threading.Tasks in .Net 4.0. I've just been using the tasks for parallelizing work and it takes great advantage of multi cores/processors. I noticed that there is a class in there named TaskScheduler, I haven't looked at it in detail, but it has methods like QueueTask, DeQueTask, etc. Might be worth some investigation at least.




回答3:


See A New Task Scheduler Class Library for .NET on Codeproject.




回答4:


I read about Quartz in this question How might I schedule a C# Windows Service to perform a task daily?. It's a C# library and allows for flexible scheduling.




回答5:


Quartz seems like a nice solution.

I've recently (this year) had to write a custom task scheduler on a major project I was working on. They too could not use the Windows Task Scheduler, and also wanted the ability to execute custom functionality by virtue of uploading assemblies (via an ASP.net website) and have the service execute the appropriate task at the specified time.

The thing was honestly a bit of a nightmare (not so much to design and implement, but the scheduling logic was a bit of a drag).

I'd highly recommend exhausting all other avenues before deciding to "roll your own" (a.k.a reinvent the wheel!).




回答6:


There is a new cloud based scheduler from Aditi Technologies called Scheduler.

Scheduler allows developers to schedule the execution of tasks through HTTP webhooks that run on simple or complex CRON schedules.



来源:https://stackoverflow.com/questions/507247/recommend-a-c-sharp-task-scheduling-library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!