-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
44 lines (37 loc) · 1.54 KB
/
app.js
File metadata and controls
44 lines (37 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require('colors')
console.log('🐙 WS Server'.bold)
if (process.env.NODE_ENV === 'production') {
console.log('In production'.bold.cyan)
}
const { Broker, Dealer } = require('./src/streaming')
const streams = require('./src/streams')
const { Commander, Market, Account, UDS, Ticker, OHLCV } = require('../services-node/src/wrappers')
const Rabbit = require('../services-node/src/rabbit/rabbit')
const commander = new Commander(parseInt(process.env.COMMANDER_PORT) || 9040)
commander.on('config', (config) => {
console.log('Config updated')
console.log('Update services wrappers')
commander.services = {}
commander.services.account = new Account(config.services.account.port)
commander.services.market = new Market(config.services.market.port)
commander.services.uds = new UDS(config.services.uds.port)
commander.services.ticker = new Ticker(config.services.ticker.port)
commander.services.ohlcv = new OHLCV(config.services.ohlcv.port)
})
commander.once('config', (config) => {
console.log('Create streams')
const broker = new Broker()
const rabbit = new Rabbit()
new streams.Depth(broker, commander)
new streams.Trade(broker, commander, rabbit)
new streams.Ticker(broker, commander)
new streams.Kline(broker, commander)
new streams.User(broker, commander, rabbit)
new streams.Time(broker)
const dealer = new Dealer(broker, {
port: parseInt(process.env.PORT) || 9050
})
dealer.on('listening', () => {
console.log(`Listening on: ${dealer.options.port}`.green.bold)
})
})