con*_*t47 8 ruby-on-rails heroku heroku-postgres
是否可以为 db (Postgres) 设置 statement_timeout仅用于 Ruby on Rails 中的 Web 查询(vs sidekiq workers/jobs)?原因是 Heroku 网络查询在 30 秒后超时,因此在此之后终止来自 Puma 的查询是有意义的。但我希望 sidekiq db 查询能够执行更长时间?
我已经尝试过做这样的事情 database.yml
primary:
<<: *default
url: <%= ENV['DATABASE_URL']) %>
variables:
statement_timeout: <%= ENV["STATEMENT_TIMEOUT"] || "0" %>
Run Code Online (Sandbox Code Playgroud)
然后在我的 Procfile
web: STATEMENT_TIMEOUT=30s bundle exec puma
但它没有用。几次请求后,语句超时将重置为 0。
这可能是一个语法问题;我用毫秒写了我的,效果很好。
web: STATEMENT_TIMEOUT=30000 bundle exec puma
Run Code Online (Sandbox Code Playgroud)
我翻转它为我的工作人员提供覆盖,然后默认为 27 秒,否则:
web: STATEMENT_TIMEOUT=30000 bundle exec puma
Run Code Online (Sandbox Code Playgroud)
在我的Procfile:
web: bundle exec puma -C config/puma.rb
worker: STATEMENT_TIMEOUT=600000 rake jobs:work
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |