mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
write cache into cache dir
This commit is contained in:
parent
8239bcd0b5
commit
a695fd33b2
4 changed files with 17 additions and 6 deletions
1
services/spelling/.gitignore
vendored
1
services/spelling/.gitignore
vendored
|
@ -5,3 +5,4 @@ app.js
|
|||
test/UnitTests/js/*
|
||||
node_modules/*
|
||||
test/unit/js/
|
||||
cache/spell.cache
|
|
@ -3,27 +3,32 @@ ASpellWorkerPool = require "./ASpellWorkerPool"
|
|||
LRU = require "lru-cache"
|
||||
logger = require 'logger-sharelatex'
|
||||
fs = require 'fs'
|
||||
settings = require("settings-sharelatex")
|
||||
Path = require("path")
|
||||
|
||||
cache = LRU(10000)
|
||||
OneMinute = 60 * 1000
|
||||
|
||||
cacheFsPath = Path.resolve(settings.cacheDir, "spell.cache")
|
||||
cacheFsPathTmp = cacheFsPath + ".tmp"
|
||||
|
||||
# load any existing cache
|
||||
try
|
||||
oldCache = fs.readFileSync "spell.cache"
|
||||
oldCache = fs.readFileSync cacheFsPath
|
||||
cache.load JSON.parse(oldCache)
|
||||
catch err
|
||||
logger.log {err}, "could not load cache file"
|
||||
logger.log err:err, cacheFsPath:cacheFsPath, "could not load the cache file"
|
||||
|
||||
# write the cache every 30 minutes
|
||||
setInterval () ->
|
||||
dump = JSON.stringify cache.dump()
|
||||
fs.writeFile "spell.cache.tmp", dump, (err) ->
|
||||
fs.writeFile cacheFsPathTmp, dump, (err) ->
|
||||
if err?
|
||||
logger.log {err}, "error writing cache file"
|
||||
fs.unlink "spell.cache.tmp"
|
||||
fs.unlink cacheFsPathTmp
|
||||
else
|
||||
fs.rename "spell.cache.tmp", "spell.cache"
|
||||
logger.log {len: dump.length}, "wrote cache file"
|
||||
fs.rename cacheFsPathTmp, cacheFsPath
|
||||
logger.log {len: dump.length, cacheFsPath:cacheFsPath}, "wrote cache file"
|
||||
, 30 * OneMinute
|
||||
|
||||
class ASpellRunner
|
||||
|
|
1
services/spelling/cache/.gitignore
vendored
Normal file
1
services/spelling/cache/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.
|
|
@ -1,3 +1,5 @@
|
|||
Path = require('path')
|
||||
|
||||
module.exports = Settings =
|
||||
internal:
|
||||
spelling:
|
||||
|
@ -12,5 +14,7 @@ module.exports = Settings =
|
|||
mongo:
|
||||
url : 'mongodb://127.0.0.1/sharelatex'
|
||||
|
||||
cacheDir: Path.resolve "cache"
|
||||
|
||||
|
||||
healthCheckUserId: "53c64d2fd68c8d000010bb5f"
|
Loading…
Reference in a new issue