@ -87,13 +87,21 @@ if (cluster.isMaster) {
const pgPool = new pg . Pool ( Object . assign ( pgConfigs [ env ] , dbUrlToConfig ( process . env . DATABASE_URL ) ) )
const pgPool = new pg . Pool ( Object . assign ( pgConfigs [ env ] , dbUrlToConfig ( process . env . DATABASE_URL ) ) )
const server = http . createServer ( app )
const server = http . createServer ( app )
const wss = new WebSocket . Server ( { server } )
const wss = new WebSocket . Server ( { server } )
const redisNamespace = process . env . REDIS_NAMESPACE || null
const redisClient = redis . createClient ( {
const redisParams = {
host : process . env . REDIS_HOST || '127.0.0.1' ,
host : process . env . REDIS_HOST || '127.0.0.1' ,
port : process . env . REDIS_PORT || 6379 ,
port : process . env . REDIS_PORT || 6379 ,
password : process . env . REDIS_PASSWORD ,
password : process . env . REDIS_PASSWORD ,
url : process . env . REDIS_URL || null
url : process . env . REDIS_URL || null
} )
}
if ( redisNamespace ) {
redisParams . namespace = redisNamespace
}
const redisPrefix = redisNamespace ? ` ${ redisNamespace } : ` : ''
const redisClient = redis . createClient ( redisParams )
const subs = { }
const subs = { }
@ -105,11 +113,10 @@ if (cluster.isMaster) {
if ( ! callbacks ) {
if ( ! callbacks ) {
return
return
}
}
callbacks . forEach ( callback => callback ( message ) )
callbacks . forEach ( callback => callback ( message ) )
} )
} )
redisClient . psubscribe ( 'timeline:*' )
redisClient . psubscribe ( ` ${ redisPrefix } timeline:* ` )
const subscribe = ( channel , callback ) => {
const subscribe = ( channel , callback ) => {
log . silly ( ` Adding listener for ${ channel } ` )
log . silly ( ` Adding listener for ${ channel } ` )
@ -242,8 +249,8 @@ if (cluster.isMaster) {
}
}
}
}
subscribe ( id , listener )
attachCloseHandler ( id , listener )
subscribe ( ` ${ redisPrefix } ${ id } ` , listener )
attachCloseHandler ( ` ${ redisPrefix } ${ id } ` , listener )
}
}
// Setup stream output to HTTP
// Setup stream output to HTTP