如何在rails上的ruby中指定特定请求的超时?

时间:2012-12-14 09:37:42

标签: ruby-on-rails ruby-on-rails-3

如何在rails应用程序中为特定请求指定2分钟的超时。在某些情况下,我的申请要求之一是超过5分钟。在这种情况下,如果超过2分钟,我想停止处理该请求。

我需要在应用程序级别进行此配置,以便将来如果有任何其他类型的请求,我不应该做任何特殊更改,除了提到该配置中的操作。有些要求也需要10分钟以上。但它们不应该有任何影响。

谢谢,

1 个答案:

答案 0 :(得分:0)

将请求的超时设置回到目前为止通常是不好的做法。让你的用户等待几分钟就完成请求并不是一个好主意。

相反,应将此类长时间运行的任务放入作业队列,以便工作进程独立于Web请求而方便地运行。此

  • 允许网络请求快速完成,让您的用户满意
  • 长期运行的任务,要远离您的网络流程,将其释放,以实现其应有的服务(提供网络请求)

考虑像 delayed_job 这样的宝石。描述如何将其应用到您的应用程序中超出了本问题的范围;我在这里的回答只是指出,修改超时很可能是错误的“回答”,而且你最好不要看工作队列。