set timeout for db query

Resolve #8150
This commit is contained in:
syuilo 2022-03-04 18:04:39 +09:00
parent 7f4551b769
commit 2939b760d3
2 changed files with 7 additions and 2 deletions

View file

@ -22,6 +22,8 @@ You should also include the user name that made the change.
- インスタンスデフォルトテーマを設定できるように @syuilo - インスタンスデフォルトテーマを設定できるように @syuilo
- プロフィールの追加情報を最大16まで保存できるように @syuilo - プロフィールの追加情報を最大16まで保存できるように @syuilo
- 連合チャートにPub&Subを追加 @syuilo - 連合チャートにPub&Subを追加 @syuilo
- デフォルトで10秒以上時間がかかるデータベースへのクエリは中断されるように @syuilo
- 設定ファイルの`db.extra`に`statement_timeout`を設定することでタイムアウト時間を変更できます
### Bugfixes ### Bugfixes
- Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo - Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo

View file

@ -184,7 +184,7 @@ export function initDb(justBorrow = false, sync = false, forceRecreate = false)
} catch (e) {} } catch (e) {}
} }
const log = process.env.NODE_ENV != 'production'; const log = process.env.NODE_ENV !== 'production';
return createConnection({ return createConnection({
type: 'postgres', type: 'postgres',
@ -193,7 +193,10 @@ export function initDb(justBorrow = false, sync = false, forceRecreate = false)
username: config.db.user, username: config.db.user,
password: config.db.pass, password: config.db.pass,
database: config.db.db, database: config.db.db,
extra: config.db.extra, extra: {
statement_timeout: 1000 * 10,
...config.db.extra,
},
synchronize: process.env.NODE_ENV === 'test' || sync, synchronize: process.env.NODE_ENV === 'test' || sync,
dropSchema: process.env.NODE_ENV === 'test' && !justBorrow, dropSchema: process.env.NODE_ENV === 'test' && !justBorrow,
cache: !config.db.disableCache ? { cache: !config.db.disableCache ? {