mirror of
https://github.com/overleaf/overleaf.git
synced 2025-03-01 19:41:47 +00:00
replace the /gc endpoint with a automatic gc every 3 minutes
This commit is contained in:
parent
e1683b8e1c
commit
2e08281b88
1 changed files with 7 additions and 12 deletions
|
@ -85,18 +85,6 @@ app.post "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey
|
|||
app.put "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.copyFile
|
||||
app.del "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.deleteFile
|
||||
|
||||
app.get "/gc", (req, res)->
|
||||
if global.gc?
|
||||
memory_before = process.memoryUsage()
|
||||
global.gc()
|
||||
memory_after = process.memoryUsage()
|
||||
delta = {}
|
||||
for k of memory_after
|
||||
delta[k] = memory_after[k] - memory_before[k]
|
||||
res.send { memory_before, memory_after, delta }
|
||||
else
|
||||
res.send(501) # need --expose-gc, send "not implemented"
|
||||
|
||||
app.get "/heapdump", (req, res)->
|
||||
require('heapdump').writeSnapshot '/tmp/' + Date.now() + '.filestore.heapsnapshot', (err, filename)->
|
||||
res.send filename
|
||||
|
@ -151,3 +139,10 @@ server.listen port, host, ->
|
|||
process.on 'SIGTERM', () ->
|
||||
logger.log("filestore got SIGTERM, shutting down gracefully")
|
||||
beginShutdown()
|
||||
|
||||
if global.gc?
|
||||
gcTimer = setInterval () ->
|
||||
global.gc()
|
||||
logger.log process.memoryUsage(), "global.gc"
|
||||
, 3 * oneMinute = 60 * 1000
|
||||
gcTimer.unref()
|
||||
|
|
Loading…
Reference in a new issue