From e763b15453580c7de1e9817141570bccfc2ca94f Mon Sep 17 00:00:00 2001 From: Thaum Rystra <9525416+ThaumRystra@users.noreply.github.com> Date: Thu, 13 Jun 2024 10:46:52 +0200 Subject: [PATCH] Made heavy collections NO_MERGE_MULTI publication strategy --- app/imports/server/config/publicationStrategies.js | 14 ++++++++++++++ app/server/main.js | 1 + 2 files changed, 15 insertions(+) create mode 100644 app/imports/server/config/publicationStrategies.js diff --git a/app/imports/server/config/publicationStrategies.js b/app/imports/server/config/publicationStrategies.js new file mode 100644 index 00000000..e408baec --- /dev/null +++ b/app/imports/server/config/publicationStrategies.js @@ -0,0 +1,14 @@ +import { DDPServer } from 'meteor/ddp-server'; + +const setPublicationStrategy = Meteor.server.setPublicationStrategy; +const { NO_MERGE_MULTI } = DDPServer.publicationStrategies; + +/* + NO_MERGE_MULTI does not keep copies of documents in server memory, but does keep track of what ids + have been sent to the client over multiple subscriptions. Lower memory use, but sends more updates + to the clients, which will need to merge them. +*/ + +setPublicationStrategy('creatureProperties', NO_MERGE_MULTI); +setPublicationStrategy('creatureVariables', NO_MERGE_MULTI); +setPublicationStrategy('libraryNodes', NO_MERGE_MULTI); diff --git a/app/server/main.js b/app/server/main.js index 11d21914..fca24d32 100644 --- a/app/server/main.js +++ b/app/server/main.js @@ -7,6 +7,7 @@ import '/imports/server/config/simpleSchemaDebug'; import '/imports/server/config/SyncedCronConfig'; import '/imports/server/config/redisCaching'; import '/imports/server/publications/index'; +import '/imports/server/config/publicationStrategies'; import '/imports/server/cron/deleteSoftRemovedDocuments'; import '/imports/api/parenting/organizeMethods'; import '/imports/api/users/patreon/updatePatreonOnLogin';