mirror of
https://github.com/lingble/chatwoot.git
synced 2026-01-10 22:41:32 +00:00
By default, Rails does not set a timeout on database statements. For example, this will run for a full day, even if your ruby process goes away. But it's configurable in the database.yml with the statement_timeout variable.
Hence we are enforcing a 14s timeout by default. Migration commands inside chatwoot will run with a 10 minutes timeout. For specific cases like migrations, we can override this timeout using the environment variable POSTGRES_STATEMENT_TIMEOUT while starting a new rails console.
Test the timeouts from the rails console using.
```
ActiveRecord::Base.connection.execute("SELECT pg_sleep(15);")
```
ref: https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts#postgresql
ref: https://til.hashrocket.com/posts/b44baf657d-railspg-statement-timeout-
41 lines
903 B
JSON
41 lines
903 B
JSON
{
|
|
"name": "Chatwoot Development Codespace",
|
|
"service": "app",
|
|
"dockerComposeFile": "docker-compose.yml",
|
|
|
|
"settings": {
|
|
"terminal.integrated.shell.linux": "/bin/zsh"
|
|
},
|
|
|
|
|
|
// Add the IDs of extensions you want installed when the container is created.
|
|
"extensions": [
|
|
"rebornix.Ruby",
|
|
"misogi.ruby-rubocop",
|
|
"wingrunr21.vscode-ruby",
|
|
"davidpallinder.rails-test-runner",
|
|
"eamodio.gitlens",
|
|
"github.copilot",
|
|
"mrmlnc.vscode-duplicate"
|
|
],
|
|
|
|
|
|
// 5432 postgres
|
|
// 6379 redis
|
|
// 1025,8025 mailhog
|
|
"forwardPorts": [8025, 3000, 3035],
|
|
|
|
"postCreateCommand": ".devcontainer/scripts/setup.sh && POSTGRES_STATEMENT_TIMEOUT=600s bundle exec rake db:chatwoot_prepare && yarn",
|
|
"portsAttributes": {
|
|
"3000": {
|
|
"label": "Rails Server"
|
|
},
|
|
"3035": {
|
|
"label": "Webpack Dev Server"
|
|
},
|
|
"8025": {
|
|
"label": "Mailhog UI"
|
|
}
|
|
}
|
|
}
|