Speed improvement: Delete presences older than one week, and add index to presences serverId.

Thanks to xet7 !

Related #3345
This commit is contained in:
Lauri Ojansivu 2021-03-07 15:58:15 +02:00
parent ce1f3365bb
commit 9db3c93116
2 changed files with 14 additions and 2 deletions

12
models/presences.js Normal file
View file

@ -0,0 +1,12 @@
if (Meteor.isServer) {
Meteor.startup(() => {
// Date of 7 days ago
let lastWeek = new Date();
lastWeek.setDate(lastWeek.getDate() - 7);
presences.remove({ ttl: { $lte: lastWeek } });
// Create index for serverId that is queried often
presences._collection._ensureIndex({ serverId: -1 });
});
}

View file

@ -63,7 +63,7 @@ if (Meteor.isServer) {
'swimlaneId', 'swimlaneId',
'customField', 'customField',
'customFieldValue', 'customFieldValue',
'attachmentId' 'attachmentId',
]; ];
const responseFunc = data => { const responseFunc = data => {
const paramCommentId = data.commentId; const paramCommentId = data.commentId;
@ -125,7 +125,7 @@ if (Meteor.isServer) {
'oldSwimlane', 'oldSwimlane',
'label', 'label',
'attachment', 'attachment',
'attachmentId' 'attachmentId',
].forEach(key => { ].forEach(key => {
if (quoteParams[key]) quoteParams[key] = `"${params[key]}"`; if (quoteParams[key]) quoteParams[key] = `"${params[key]}"`;
}); });