Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 覆盖gem类超时的30秒超时_Ruby On Rails_Timeout_Thin - Fatal编程技术网

Ruby on rails 覆盖gem类超时的30秒超时

Ruby on rails 覆盖gem类超时的30秒超时,ruby-on-rails,timeout,thin,Ruby On Rails,Timeout,Thin,我的精简服务器在30秒后超时。我想覆盖这个ruby文件 默认超时时间为30秒到120秒。怎么做?请让我知道 代码如下: 我想在没有“已初始化常量”警告的情况下重写 请参阅帮助 ➜ ~/app ✓ thin --help | grep timeout -t, --timeout SEC Request or command timeout in sec (default: 30) 因此,您可以在启动服务器时从命令行对其进行更改 ➜ ~/app ✓ thi

我的精简服务器在30秒后超时。我想覆盖这个ruby文件

默认超时时间为30秒到120秒。怎么做?请让我知道

代码如下:

我想在没有“已初始化常量”警告的情况下重写

请参阅帮助

➜  ~/app ✓ thin --help | grep timeout
   -t, --timeout SEC                Request or command timeout in sec (default: 30)
因此,您可以在启动服务器时从命令行对其进行更改

➜  ~/app ✓ thin --timeout 60 start
或者你也可以用类似这样的东西设置一个配置文件,比如
/etc/thin/your_app.yml

---
timeout: 60
然后运行thin,用

thin -C /etc/thin/your_app.yml start

作为一个旁注,你应该考虑是否增加超时时间是非常必要的。通常,长时间运行的请求应该排队,然后通过服务(如或)运行


在看到您的评论并了解到您正在使用Heroku之后,我建议您阅读

有时,应用程序可能会挂起web请求或花费过多的时间来处理该请求。发生这种情况时,如果完成请求的时间超过30秒,路由器将终止请求。当请求离开路由器时,超时倒计时开始。然后应用程序必须在dyno中处理请求,然后在30秒内将响应发送回路由器以避免超时

如果你在使用Heroku,我甚至更强烈地建议你研究一下延迟的工作、resque或类似的东西。您将至少有一个工作进程正在运行以处理队列。当您的队列实际有作业要处理时,仅通过旋转工人来为您省钱,这是一项极好的服务。

您的意思是在rails的procfile中放入-->--timeout 120?我的应用程序在heroku上,因此我不确定在启动服务器时在何处键入命令行?