繁体   English   中英

如何在Ruby on Rails中为特定请求指定超时?

[英]How to specify timeout for a particular request in ruby on rails?

如何在Rails应用程序中为特定请求指定2分钟的超时。 在某些情况下,我的一项申请要求花费5分钟以上的时间。 在那种情况下,如果要花费超过2分钟的时间,我想停止处理该请求。

我需要在应用程序级别进行此配置,以便将来在有任何其他此类请求时,除了在该配置中提及该操作外,我不应该进行任何特殊更改。 有些请求也要花费超过10分钟的时间。 但是它们不应该有任何作用。

谢谢,

将请求的超时时间设置得这么远通常是不好的做法。 让您的用户等待几分钟才能完成请求不是一个好主意。

相反,应将这种长时间运行的任务放在作业队列中,以使工作进程在方便时独立于Web请求运行。 这个

  • 允许网络请求很快完成,使您的用户满意
  • 长时间运行的任务,使其脱离您的Web流程,可以腾出时间来执行其应做的事情(服务Web请求)

考虑一个像delay_job这样的宝石。 描述如何将其应用到您的应用程序中超出了此问题的范围。 我在这里的答案仅是指出,试图修改超时很可能是错误的“答案”,并且比查看工作队列更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM