mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-29 02:02:27 +00:00
The pg_stat_activity data showed a lot of idle connections. This affects the total number of database connections available which resulted in production incidents during the weekend. > reaping_frequency: frequency in seconds to periodically run the Reaper, which attempts to find and recover connections from dead threads, which can occur if a programmer forgets to close a connection at the end of a thread or a thread dies unexpectedly. Regardless of this setting, the Reaper will be invoked before every blocking wait. (Default nil, which means don't schedule the Reaper). Ref: https://api.rubyonrails.org/v5.1/classes/ActiveRecord/ConnectionAdapters/ConnectionPool.html
32 lines
1.4 KiB
YAML
32 lines
1.4 KiB
YAML
default: &default
|
|
adapter: postgresql
|
|
encoding: unicode
|
|
host: <%= ENV.fetch('POSTGRES_HOST', 'localhost') %>
|
|
port: <%= ENV.fetch('POSTGRES_PORT', '5432') %>
|
|
# ref: https://github.com/mperham/sidekiq/issues/2985#issuecomment-531097962
|
|
pool: <%= Sidekiq.server? ? ENV.fetch('SIDEKIQ_CONCURRENCY', 10) : ENV.fetch('RAILS_MAX_THREADS', 5) %>
|
|
# frequency in seconds to periodically run the Reaper, which attempts
|
|
# to find and recover connections from dead threads
|
|
reaping_frequency: <%= ENV.fetch('DB_POOL_REAPING_FREQUENCY', 30) %>
|
|
variables:
|
|
# we are setting this value to be close to the racktimeout value. we will iterate and reduce this value going forward
|
|
statement_timeout: <%= ENV["POSTGRES_STATEMENT_TIMEOUT"] || "14s" %>
|
|
|
|
development:
|
|
<<: *default
|
|
database: "<%= ENV.fetch('POSTGRES_DATABASE', 'chatwoot_dev') %>"
|
|
username: "<%= ENV.fetch('POSTGRES_USERNAME', 'postgres') %>"
|
|
password: "<%= ENV.fetch('POSTGRES_PASSWORD', '') %>"
|
|
|
|
test:
|
|
<<: *default
|
|
database: "<%= ENV.fetch('POSTGRES_DATABASE', 'chatwoot_test') %>"
|
|
username: "<%= ENV.fetch('POSTGRES_USERNAME', 'postgres') %>"
|
|
password: "<%= ENV.fetch('POSTGRES_PASSWORD', '') %>"
|
|
|
|
production:
|
|
<<: *default
|
|
database: "<%= ENV.fetch('POSTGRES_DATABASE', 'chatwoot_production') %>"
|
|
username: "<%= ENV.fetch('POSTGRES_USERNAME', 'chatwoot_prod') %>"
|
|
password: "<%= ENV.fetch('POSTGRES_PASSWORD', 'chatwoot_prod') %>"
|