mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-24 17:51:51 +02:00
make redis client list dynamic based on settings
This commit is contained in:
@@ -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?
|
||||
|
||||
Reference in New Issue
Block a user