gpt4 book ai didi

ruby-on-rails - 是否可以为 Rails 中的 *only* Web 查询的数据库设置 statement_timeout?

转载 作者:行者123 更新时间:2023-12-03 13:41:47 25 4
gpt4 key购买 nike

是否可以为 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" %>

然后在我的 Procfile 中执行此操作
web: STATEMENT_TIMEOUT=30s bundle exec puma
但它没有用。几次请求后,语句超时将重置为 0。

最佳答案

可能是语法问题;我用 ms 写了我的,它工作正常。

web: STATEMENT_TIMEOUT=30000 bundle exec puma
我翻转它为我的 worker 提供覆盖,然后默认为 27 秒,否则:
# database.yml
<% statement_timeout = ENV['STATEMENT_TIMEOUT'] || '27000' %>

production:
...
variables:
statement_timeout: <%= statement_timeout %>
在我的 Procfile :
web: bundle exec puma -C config/puma.rb
worker: STATEMENT_TIMEOUT=600000 rake jobs:work

关于ruby-on-rails - 是否可以为 Rails 中的 *only* Web 查询的数据库设置 statement_timeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58470605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com