File tree Expand file tree Collapse file tree 4 files changed +20
-3
lines changed Expand file tree Collapse file tree 4 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ import { getNewTrade$, GetTradeParams } from './trade/trade';
21
21
import { getStartShutdown$ } from './utils' ;
22
22
import { Dictionary , Market } from 'ccxt' ;
23
23
import { verifyMarkets } from './centralized/verify-markets' ;
24
- import { initDB$ , InitDBparams , InitDBResponse } from './db/db' ;
24
+ import { initDB$ , InitDBparams , InitDBResponse , closeDB$ } from './db/db' ;
25
25
import { OrderRepository } from './db/order-repository' ;
26
26
27
27
type StartArbyParams = {
@@ -135,6 +135,7 @@ export const startArby = ({
135
135
loggers,
136
136
removeOpenDEXorders$,
137
137
removeCEXorders$,
138
+ closeDB$,
138
139
CEX ,
139
140
} )
140
141
) . pipe (
@@ -148,6 +149,7 @@ export const startArby = ({
148
149
removeOpenDEXorders$,
149
150
removeCEXorders$,
150
151
CEX ,
152
+ closeDB$,
151
153
} ) ;
152
154
} )
153
155
) ;
Original file line number Diff line number Diff line change @@ -35,11 +35,13 @@ const createModels = (sequelize: Sequelize): InitDBResponse => {
35
35
return models ;
36
36
} ;
37
37
38
+ let sequelize : Sequelize ;
39
+
38
40
const initDB$ = ( {
39
41
logger,
40
42
dataDir,
41
43
} : InitDBparams ) : Observable < InitDBResponse > => {
42
- const sequelize = new Sequelize ( {
44
+ sequelize = new Sequelize ( {
43
45
storage : dataDir ? `${ dataDir } /arby.db` : undefined ,
44
46
logging : logger . trace ,
45
47
dialect : 'sqlite' ,
@@ -60,4 +62,8 @@ const initDB$ = ({
60
62
) ;
61
63
} ;
62
64
63
- export { initDB$ , InitDBparams , InitDBResponse } ;
65
+ const closeDB$ = ( ) : Observable < void > => {
66
+ return from ( sequelize . close ( ) ) ;
67
+ } ;
68
+
69
+ export { initDB$ , InitDBparams , InitDBResponse , closeDB$ } ;
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import { Logger, Loggers } from '../logger';
10
10
import { errorCodes , errors } from '../opendex/errors' ;
11
11
import { GetCleanupParams } from '../trade/cleanup' ;
12
12
import { removeOpenDEXorders$ } from './remove-orders' ;
13
+ import { closeDB$ } from '../db/db' ;
13
14
14
15
const catchOpenDEXerror = (
15
16
loggers : Loggers ,
@@ -73,6 +74,7 @@ const catchOpenDEXerror = (
73
74
loggers,
74
75
removeOpenDEXorders$,
75
76
removeCEXorders$,
77
+ closeDB$,
76
78
CEX ,
77
79
} ) . pipe ( ignoreElements ( ) ) ,
78
80
timer ( RETRY_INTERVAL )
Original file line number Diff line number Diff line change @@ -47,6 +47,7 @@ type GetCleanupParams = {
47
47
orderId : string
48
48
) => Observable < Order >
49
49
) => Observable < unknown > ;
50
+ closeDB$ : ( ) => Observable < void > ;
50
51
CEX : Exchange ;
51
52
} ;
52
53
@@ -55,6 +56,7 @@ const getCleanup$ = ({
55
56
loggers,
56
57
removeOpenDEXorders$,
57
58
removeCEXorders$,
59
+ closeDB$,
58
60
CEX ,
59
61
} : GetCleanupParams ) : Observable < unknown > => {
60
62
const retryOnError = ( logger : Logger , source : Observable < any > ) => {
@@ -77,6 +79,11 @@ const getCleanup$ = ({
77
79
const retryOnErrorOpenDEX = curriedRetryOnError ( loggers . opendex ) ;
78
80
const retryonErrorCEX = curriedRetryOnError ( loggers . centralized ) ;
79
81
return combineLatest (
82
+ closeDB$ ( ) . pipe (
83
+ tap ( ( ) => {
84
+ loggers . db . info ( 'DB has been closed' ) ;
85
+ } )
86
+ ) ,
80
87
removeOpenDEXorders$ ( {
81
88
config,
82
89
getXudClient$,
You can’t perform that action at this time.
0 commit comments