Is it possible to set a statement_timeout for the db (Postgres) for only web queries in Ruby on Rails (vs sidekiq workers/jobs)? Reason being Heroku web queries timeout after 30 seconds so it makes sense to kill queries from Puma after that. But I want sidekiq db queries to be able to execute for much longer?
I already tried doing something like this in database.yml
primary:
<<: *default
url: <%= ENV['DATABASE_URL']) %>
variables:
statement_timeout: <%= ENV["STATEMENT_TIMEOUT"] || "0" %>
Then doing this in my Procfile
web: STATEMENT_TIMEOUT=30s bundle exec puma
But it didn't work. The statement timeout would get reset back to 0 after a few requests.