![](/img/trans.png)
[英]How can I set server request timeout to 30 seconds limit in local for ruby on rails application?
[英]Ruby on Rails: How to set a database timeout in application configuration?
我想將我的數據庫設置為在一定時間內沒有完成的超時請求,以防止異常請求獨占整個應用程序。
有什么我可以添加到我的Rails配置文件中來設置它嗎?
我試圖添加一行我經常在線看到timeout: 5000
到我的database.yml,但這似乎沒有任何影響。
我試圖在ActiveRecord::Base.connection.execute('set statement_timeout to 5000')
調用ActiveRecord::Base.connection.execute('set statement_timeout to 5000')
,但這會導致Rails錯誤輸出。
我在Heroku上運行Postgres數據庫,我沒有直接的數據庫訪問權限,因此我不能直接使用數據庫配置。 即使我從Heroku控制台遠程執行該命令,他們也可以隨時重啟我的應用程序,如果在應用程序啟動時沒有重新執行,我的更改就會丟失。
database.yml的:
defaults: &default
adapter: postgresql
encoding: unicode
pool: 5
min_messages: warning
variables:
statement_timeout: 5000
得到了這個工作,只需要在最后一行包括environment.rb中的行,而不是在開頭或塊中。
試試這個語法:
SET statement_timeout = 5000;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.