Rails应用程序因超时而崩溃

时间:2012-09-05 18:03:23

标签: ruby-on-rails crash timeout

我的rails应用程序中有一个方法可以进行大约1000次REST调用。不幸的是,由于超时,它很快就崩溃了:

Error H12 (Request timeout) -> POST MyApp.herokuapp.com/expensiveCall dyno=web.1 queue= wait= service=30000ms status=503      

如何避免此超时?我应该小心这些线路吗? (拨打这个电话非常昂贵 - 所以我应该避免这样做。)

谢谢!

修改 此外,最好是启动一个线程来进行那些1000次REST调用,而不是让请求等待完成。如果是这样,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你需要把它放到某种后台工作中。您可以使用delayed_jobresque之类的内容。延迟作业是一种工具,您可以在rails中使用该工具创建可以在其他时间执行或放入队列的作业。延迟工作在某些方面与活动记录的关系非常相似。查看该链接上的自述文件以进行设置。我听说过有关resque的好消息,也允许你这样做,但我没有使用它的经验。