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';