فهرست منبع

Merge pull request #77 from overleaf/bg-use-individual-channels

support per-doc pubsub channels
Brian Gough 7 سال پیش
والد
کامیت
2c0c3dc573

+ 6 - 1
services/document-updater/app/coffee/RealTimeRedisManager.coffee

@@ -36,4 +36,9 @@ module.exports = RealTimeRedisManager =
 		# create a unique message id using a counter
 		# create a unique message id using a counter
 		message_id = "doc:#{HOST}:#{RND}-#{COUNT++}"
 		message_id = "doc:#{HOST}:#{RND}-#{COUNT++}"
 		data?._id = message_id
 		data?._id = message_id
-		pubsubClient.publish "applied-ops", JSON.stringify(data)
+		# publish on separate channels for individual projects and docs when
+		# configured (needs realtime to be configured for this too).
+		if Settings.publishOnIndividualChannels
+			pubsubClient.publish "applied-ops:#{data.doc_id}", JSON.stringify(data)
+		else
+			pubsubClient.publish "applied-ops", JSON.stringify(data)

+ 3 - 1
services/document-updater/config/settings.defaults.coffee

@@ -91,4 +91,6 @@ module.exports =
 		url: "mongodb://#{process.env["MONGO_HOST"] or "localhost"}/sharelatex"
 		url: "mongodb://#{process.env["MONGO_HOST"] or "localhost"}/sharelatex"
 
 
 	sentry:
 	sentry:
-		dsn: process.env.SENTRY_DSN
+		dsn: process.env.SENTRY_DSN
+
+	publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] or false