|
@@ -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.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.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)->
|
|
app.get "/heapdump", (req, res)->
|
|
|
require('heapdump').writeSnapshot '/tmp/' + Date.now() + '.filestore.heapsnapshot', (err, filename)->
|
|
require('heapdump').writeSnapshot '/tmp/' + Date.now() + '.filestore.heapsnapshot', (err, filename)->
|
|
|
res.send filename
|
|
res.send filename
|
|
@@ -151,3 +139,10 @@ server.listen port, host, ->
|
|
|
process.on 'SIGTERM', () ->
|
|
process.on 'SIGTERM', () ->
|
|
|
logger.log("filestore got SIGTERM, shutting down gracefully")
|
|
logger.log("filestore got SIGTERM, shutting down gracefully")
|
|
|
beginShutdown()
|
|
beginShutdown()
|
|
|
|
|
+
|
|
|
|
|
+if global.gc?
|
|
|
|
|
+ gcTimer = setInterval () ->
|
|
|
|
|
+ global.gc()
|
|
|
|
|
+ logger.log process.memoryUsage(), "global.gc"
|
|
|
|
|
+ , 3 * oneMinute = 60 * 1000
|
|
|
|
|
+ gcTimer.unref()
|