2010-09-22 218 views
3

我想知道我的替代方案是什么,以解决在非Web应用程序上运行ruby的非Windows系统的问题。Ruby解决方案替代.NET解决方案

的情况是这样的:

用户将激活可能需要大约15分钟才能完成一个网站的深层网页抓取。我可以使用ajax经常更新网页,并在结果发生时更新。我想在作业完成后通过电子邮件向用户发送结果。

问题是我想要将结果写入数据库并将用户通过电子邮件发送出去,以便用户可以关闭浏览器并完成作业。

如果我在windows中这样做,我会使用msmq(消息队列)将作业发送到将完成作业的Windows服务。

我该如何从轨道上的红宝石做到这一点,有没有什么宝石,你会推荐?

我也可能会迁移到JRuby,所以这可能也是一个考虑因素。

回答

1

无论实现语言/框架如何,消息队列都是Web应用程序的答案。 Rails有几个很好的消息队列选项。 Delayed JobResque是这两天似乎很流行的两种。

此外,还有为STOMPAMQP协议红宝石客户,使其能够使用许多流行的消息队列如ApacheMQRabbitMQ的。