0

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

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

如何避免此超时?我应该小心这些方面的任何事情吗?(打这个电话是相当昂贵的 - 所以寻找我应该避免的事情)。

谢谢!

编辑 另外,启动一个线程来进行这 1000 个 REST 调用而不是让请求等待完成是否是个好主意。如果是这样,我该怎么做?

4

1 回答 1

0

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

于 2012-09-05T18:13:28.173 回答