【发布时间】:2019-02-21 02:58:26
【问题描述】:
我尝试增加超时时间,我的应用程序在生产中运行,它部署在 heroku 上。我有一些需要超过 30 秒的请求。这些请求被插入到数据库中。由于要求,我无法将这些插入移动到后台作业。我将超时时间增加到 60 秒,后来我将其增加到 80 秒,它工作正常。但是最近它停止运行,无论我做什么它都不会让我增加超时。这在开发环境中工作得很好,但在生产环境中却不行。我使用的 gem 是 rack-timeout
我使用了以下选项:
Rack::Timeout.timeout = 60 # seconds
Rack::Timeout.wait_timeout = 60
Rack::Timeout.wait_overtime = 60
Rack::Timeout.service_timeout = 60
Rack::Timeout.service_past_wait = true
最初我只使用超时选项,它曾经工作正常。但后来我尝试添加更多选项,希望它们中的任何一个都可以工作。
服务器输出:
2018-09-17T08:00:32.163182+00:00 heroku[router]: at=error code=H12 desc="Request timeout"
method=POST path="/organizations/53/events" host=HOST_NAME
request_id=abbd22bf-5298-4480-m027-aa00a52a0587 fwd="103.7.79.236" dyno=web.1
connect=1ms service=30135ms status=503 bytes=0 protocol=https
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
我不确定这是否会有所帮助,但 this heroku 的建议。
标签: ruby-on-rails ruby heroku timeout rack