Quartz 与“反应式扩展”
我正在寻找 C# 的调度库,很长一段时间以来,我认为“唯一”的选择是 Quartz.NET,它非常强大并且工作得很好。但是当我发现“反应式扩展”(RX - http://msdn.microsoft.com/ en-us/data/gg577609)我意识到它也可以执行与时间相关的操作,并且具有本机 .NET 前端。
Rx 在与时间相关的操作方面有哪些限制?我需要在特定的时间间隔内、在一段时间后左右重复触发任务。
有什么重大差异吗?(在性能等方面 - 例如根据我的经验,当安排的任务超过 1500 个以上时,Quartz 就会冻结)
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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两者其实没有可比性。是的,使用两者,您都可以“安排”任务在从现在开始的特定时间范围内发生,但这就是相似之处。
Quartz 是一个完整的调度解决方案,具有大量的触发器选项,并将任务保存到文件或数据库。
反应式扩展是处理流数据或事件的好方法,是的,有一些选项可以限制或延迟一段时间。
如果您想要安排任务,那么 Quartz 可能是正确的选择。如果您需要一种带有大量缓冲、延迟和连接选项的事件框架,那么 Rx 可能更合适。
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.