问题
I am looking for a scheduling library for C# and for a long time I though the "only" option is Quartz.NET which is quite robust and work just fine. But when I found "Reactive Extensions" (RX - http://msdn.microsoft.com/en-us/data/gg577609) I realized that it can do Time-Related operations as well and have native .NET frontend.
What are the limitations of Rx in terms of Time-Related operations? I need to fire tasks repeatedly in specific interval, after time period or so.
And are there any major differences? (in terms of performance etc. - for example by my experience Quartz freezes when there are more then 1500+- tasks scheduled)
回答1:
The two are not really comparable. Yes, with both you can 'schedule' a task to occur in a specific timespan from now, but that is where the similarities end.
Quartz is a complete scheduling solution with a huge range of trigger options and persists tasks to file or database.
Reactive extensions are a great way to deal with streamed data or events and yes, there are options for throttling or delaying for periods of time.
If you're looking to schedule tasks, then Quartz is probably the right option. If your needing a sort of eventing framework with loads of options for buffering, delaying and joining, then Rx is possibly more appropriate.
来源:https://stackoverflow.com/questions/6036581/quartz-vs-reactive-extensions