Răsfoiți Sursa

[misc] track delay of using sqlite for last access time of a project

Jakob Ackermann 5 ani în urmă
părinte
comite
d40065fd8e
1 a modificat fișierele cu 6 adăugiri și 1 ștergeri
  1. 6 1
      services/clsi/app/js/ProjectPersistenceManager.js

+ 6 - 1
services/clsi/app/js/ProjectPersistenceManager.js

@@ -21,6 +21,7 @@ const logger = require('logger-sharelatex')
 const oneDay = 24 * 60 * 60 * 1000
 const oneDay = 24 * 60 * 60 * 1000
 const Settings = require('settings-sharelatex')
 const Settings = require('settings-sharelatex')
 const diskusage = require('diskusage')
 const diskusage = require('diskusage')
+const Metrics = require('./Metrics')
 
 
 module.exports = ProjectPersistenceManager = {
 module.exports = ProjectPersistenceManager = {
   EXPIRY_TIMEOUT: Settings.project_cache_length_ms || oneDay * 2.5,
   EXPIRY_TIMEOUT: Settings.project_cache_length_ms || oneDay * 2.5,
@@ -53,6 +54,7 @@ module.exports = ProjectPersistenceManager = {
     if (callback == null) {
     if (callback == null) {
       callback = function (error) {}
       callback = function (error) {}
     }
     }
+    const timer = new Metrics.Timer('db-bump-last-accessed')
     const job = (cb) =>
     const job = (cb) =>
       db.Project.findOrCreate({ where: { project_id } })
       db.Project.findOrCreate({ where: { project_id } })
         .spread((project, created) =>
         .spread((project, created) =>
@@ -62,7 +64,10 @@ module.exports = ProjectPersistenceManager = {
             .error(cb)
             .error(cb)
         )
         )
         .error(cb)
         .error(cb)
-    return dbQueue.queue.push(job, callback)
+    dbQueue.queue.push(job, (error) => {
+      timer.done()
+      callback(error)
+    })
   },
   },
 
 
   clearExpiredProjects(callback) {
   clearExpiredProjects(callback) {