请建议.Net作业/任务队列

时间:2009-04-04 19:19:38

标签: .net queue scheduled-tasks

我需要建立一个处理数据的服务网络。每个服务都需要自己的任务队列。初步我需要像QueueTask,CancelTask​​,StopTask,GetTaskStatus和GetTaskProgress这样的操作。

我正在寻找任务队列的框架或完全构建的实现。

此时我知道一些选择:

MSMQ - 可以满足我的需求,但需要太多代码才能获得支持。

Castle.Sheduling - 计划解决方案。它提供可插拔触发器,我可以实现它以满足我的需求。但是编码仍然太多。

ServiceBUS - 例如 MassTransit 。但是,我不确定它们如何支持长队列,仍然需要管道代码。

理想的解决方案是提供托管任务队列的框架。这将能够重新启动而不会丢失任务。这可以从网络访问,例如作为SOAP端点。

问题实际上是你用什么,为什么?你有什么建议使用?

4 个答案:

答案 0 :(得分:1)

嗯,听起来好像你要编写一些管道,特别是通过SOAP将任务队列暴露给外界。

我建议看看:

两者都是.NET框架和MSMQ上的开源服务总线实现。

答案 1 :(得分:0)

Apache组织也有ActiveMQ。它有很多很好的跨平台/语言支持,而且是免费的!

在商业领域,还有Tibco EMS具有良好的Java / C#绑定

答案 2 :(得分:0)

也许你正在寻找像CONTROL-M这样的东西?

http://en.wikipedia.org/wiki/CONTROL-M

答案 3 :(得分:0)

好吧,我可能正在经历一个类似的过程。对不起,这不是一个答案,不过可能是从背景角度来看。

我有一种情况,网络应用程序将允许用户上传设计的图像..问题是我需要显然处理初始上传,但然后排队图像的实际过程。例如,我需要:

  1. 创建主要图像的缩放缩略图,以及一些水印等
  2. 将实际图像发送到Amazon S3存储单元。
  3. 更新一些日志/通知等。
  4. 同样,我立刻认为MSMQ来自我以前在IBM和MQSeries工作的财务,因为我使用的是SQL 2008 R2,我注意到它(也许有一段时间!)排队机制。

    所以我想在同一条船上寻找正确的选择!

    感谢到目前为止的答复..将查看一些解决方案,但同样,任何其他想法将不胜感激