From d40065fd8eb7ead39ae351611ec7fb866b1129d6 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 14 Jun 2021 12:24:48 +0100 Subject: [PATCH] [misc] track delay of using sqlite for last access time of a project --- services/clsi/app/js/ProjectPersistenceManager.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/clsi/app/js/ProjectPersistenceManager.js b/services/clsi/app/js/ProjectPersistenceManager.js index d0fd4c2439..f5d32caaca 100644 --- a/services/clsi/app/js/ProjectPersistenceManager.js +++ b/services/clsi/app/js/ProjectPersistenceManager.js @@ -21,6 +21,7 @@ const logger = require('logger-sharelatex') const oneDay = 24 * 60 * 60 * 1000 const Settings = require('settings-sharelatex') const diskusage = require('diskusage') +const Metrics = require('./Metrics') module.exports = ProjectPersistenceManager = { EXPIRY_TIMEOUT: Settings.project_cache_length_ms || oneDay * 2.5, @@ -53,6 +54,7 @@ module.exports = ProjectPersistenceManager = { if (callback == null) { callback = function (error) {} } + const timer = new Metrics.Timer('db-bump-last-accessed') const job = (cb) => db.Project.findOrCreate({ where: { project_id } }) .spread((project, created) => @@ -62,7 +64,10 @@ module.exports = ProjectPersistenceManager = { .error(cb) ) .error(cb) - return dbQueue.queue.push(job, callback) + dbQueue.queue.push(job, (error) => { + timer.done() + callback(error) + }) }, clearExpiredProjects(callback) {