File tree Expand file tree Collapse file tree 4 files changed +10
-8
lines changed Expand file tree Collapse file tree 4 files changed +10
-8
lines changed Original file line number Diff line number Diff line change 1
1
import { Logger , logExecutionTimeV2 } from '@crowd/logging'
2
- import SequelizeRepository from '../../database/repositories/sequelizeRepository'
3
2
import { CrowdJob } from '../../types/jobTypes'
3
+ import { databaseInit } from '../../database/databaseConnection'
4
4
5
5
let processing = false
6
6
@@ -13,7 +13,9 @@ const job: CrowdJob = {
13
13
} else {
14
14
return
15
15
}
16
- const dbOptions = await SequelizeRepository . getDefaultIRepositoryOptions ( )
16
+
17
+ // initialize database with 15 minutes query timeout
18
+ const database = await databaseInit ( 1000 * 60 * 15 )
17
19
18
20
const materializedViews = [
19
21
'mv_members_cube' ,
@@ -25,7 +27,7 @@ const job: CrowdJob = {
25
27
for ( const view of materializedViews ) {
26
28
await logExecutionTimeV2 (
27
29
( ) =>
28
- dbOptions . database . sequelize . query ( `REFRESH MATERIALIZED VIEW CONCURRENTLY "${ view } "` , {
30
+ database . sequelize . query ( `REFRESH MATERIALIZED VIEW CONCURRENTLY "${ view } "` , {
29
31
useMaster : true ,
30
32
} ) ,
31
33
log ,
Original file line number Diff line number Diff line change @@ -5,9 +5,9 @@ let cached
5
5
/**
6
6
* Initializes the connection to the Database
7
7
*/
8
- export async function databaseInit ( ) {
8
+ export async function databaseInit ( queryTimeoutMilliseconds : number = 30000 ) {
9
9
if ( ! cached ) {
10
- cached = models ( )
10
+ cached = models ( queryTimeoutMilliseconds )
11
11
}
12
12
13
13
return cached
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import models from '../models'
3
3
4
4
const log = getServiceLogger ( )
5
5
6
- models ( )
6
+ models ( 1000 * 30 )
7
7
. sequelize . sync ( { alter : true } )
8
8
. then ( ( ) => {
9
9
log . info ( 'Database tables created!' )
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ function getCredentials(): Credentials {
45
45
}
46
46
}
47
47
48
- function models ( ) {
48
+ function models ( queryTimeoutMilliseconds : number ) {
49
49
const database = { } as any
50
50
51
51
const credentials = getCredentials ( )
@@ -59,7 +59,7 @@ function models() {
59
59
dialectOptions : {
60
60
application_name : SERVICE ,
61
61
connectionTimeoutMillis : 5000 ,
62
- query_timeout : 30000 ,
62
+ query_timeout : queryTimeoutMilliseconds ,
63
63
idle_in_transaction_session_timeout : 10000 ,
64
64
} ,
65
65
port : DB_CONFIG . port ,
You can’t perform that action at this time.
0 commit comments