2009-02-03 57 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。