mirror of
https://github.com/overleaf/overleaf.git
synced 2025-03-15 05:21:57 +00:00
make redis client list dynamic based on settings
This commit is contained in:
parent
b5f9bc422b
commit
cb289f2dec
3 changed files with 12 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
|||
logger = require "logger-sharelatex"
|
||||
settings = require 'settings-sharelatex'
|
||||
redis = require("redis-sharelatex")
|
||||
RedisClientManager = require "./RedisClientManager"
|
||||
SafeJsonParse = require "./SafeJsonParse"
|
||||
EventLogger = require "./EventLogger"
|
||||
HealthCheckManager = require "./HealthCheckManager"
|
||||
|
@ -11,7 +11,7 @@ MESSAGE_SIZE_LOG_LIMIT = 1024 * 1024 # 1Mb
|
|||
module.exports = DocumentUpdaterController =
|
||||
# DocumentUpdaterController is responsible for updates that come via Redis
|
||||
# Pub/Sub from the document updater.
|
||||
rclientList: [redis.createClient(settings.redis.pubsub)]
|
||||
rclientList: RedisClientManager.createClientList(settings.redis.pubsub, settings.redis.unusedpubsub)
|
||||
|
||||
listenForUpdatesFromDocumentUpdater: (io) ->
|
||||
for rclient in @rclientList
|
||||
|
|
7
services/real-time/app/coffee/RedisClientManager.coffee
Normal file
7
services/real-time/app/coffee/RedisClientManager.coffee
Normal file
|
@ -0,0 +1,7 @@
|
|||
redis = require("redis-sharelatex")
|
||||
|
||||
modules.export = RedisClientManager =
|
||||
createClientList: (configs...)
|
||||
# create a dynamic list of redis clients, excluding any configurations which are not defined
|
||||
clientList = (redis.createClient(x) for x in configs when x?))
|
||||
return clientList
|
|
@ -1,13 +1,13 @@
|
|||
Settings = require 'settings-sharelatex'
|
||||
logger = require 'logger-sharelatex'
|
||||
redis = require("redis-sharelatex")
|
||||
RedisClientManager = require "./RedisClientManager"
|
||||
SafeJsonParse = require "./SafeJsonParse"
|
||||
EventLogger = require "./EventLogger"
|
||||
HealthCheckManager = require "./HealthCheckManager"
|
||||
|
||||
module.exports = WebsocketLoadBalancer =
|
||||
rclientPubList: [redis.createClient(Settings.redis.pubsub)]
|
||||
rclientSubList: [redis.createClient(Settings.redis.pubsub)]
|
||||
rclientPubList: RedisClientManager.createClientList(Settings.redis.pubsub, Settings.redis.unusedpubsub)
|
||||
rclientSubList: RedisClientManager.createClientList(Settings.redis.pubsub, Settings.redis.unusedpubsub)
|
||||
|
||||
emitToRoom: (room_id, message, payload...) ->
|
||||
if !room_id?
|
||||
|
|
Loading…
Reference in a new issue