我想知道在非Windows窗口框上运行ruby会在rails web应用程序上出现以下问题的替代方法。
情景如下:
用户将激活网站的深度网页抓取,可能需要大约15分钟才能完成。我可以使用ajax每隔一段时间更新网页,结果一如既往。我希望在作业完成时通过电子邮件向用户发送结果。
问题在于我想将结果写入数据库,并将用户通过电子邮件发送给用户,以便用户可以关闭浏览器并完成作业。
如果我在Windows中这样做,我会使用msmq(消息排队)将作业发送到完成作业的Windows服务。
我如何从轨道上的红宝石中做到这一点,你会推荐任何宝石吗?
我也可能正在迁移到JRuby,所以这也可能是一个考虑因素。
答案 0 :(得分:1)
消息队列是Web应用程序的答案,无论实现语言/框架如何。 Rails有几个很好的消息队列选项。 Delayed Job和Resque这两天似乎很受欢迎。
此外,还有STOMP和AMQP协议的Ruby客户端,可以使用许多流行的消息队列,例如ApacheMQ和RabbitMQ。
答案 1 :(得分:0)
delayed job可以满足您的需求。