mirror of
https://github.com/overleaf/overleaf.git
synced 2025-02-16 23:03:56 +00:00
Begin fixing health-check
This commit is contained in:
parent
e0f39da616
commit
b12f69722f
2 changed files with 21 additions and 25 deletions
|
@ -32,7 +32,7 @@ module.exports = FileController =
|
|||
logger.err err:err, key:key, bucket:bucket, format:format, style:style, "problem getting file"
|
||||
if err instanceof Errors.NotFoundError
|
||||
return res.send 404
|
||||
if !res.finished and res?.send?
|
||||
else
|
||||
return res.send 500
|
||||
else if req.query.cacheWarm
|
||||
logger.log key:key, bucket:bucket, format:format, style:style, "request is only for cache warm so not sending stream"
|
||||
|
|
|
@ -7,21 +7,30 @@ fileController = require("./FileController")
|
|||
logger = require('logger-sharelatex')
|
||||
settings = require("settings-sharelatex")
|
||||
streamBuffers = require("stream-buffers")
|
||||
_ = require('underscore')
|
||||
|
||||
|
||||
checkCanStoreFiles = (callback)->
|
||||
callback = _.once(callback)
|
||||
req = {params:{}, query:{}, headers:{}}
|
||||
res = {}
|
||||
req.params.project_id = settings.health_check.project_id
|
||||
req.params.file_id = settings.health_check.file_id
|
||||
myWritableStreamBuffer = new streamBuffers.WritableStreamBuffer(initialSize: 100)
|
||||
res = {
|
||||
send: (code) ->
|
||||
if code != 200
|
||||
callback(new Error("non-200 code from getFile: #{code}"))
|
||||
}
|
||||
myWritableStreamBuffer.send = res.send
|
||||
keyBuilder.userFileKey req, res, ->
|
||||
fileController.getFile req, myWritableStreamBuffer
|
||||
myWritableStreamBuffer.on "close", ->
|
||||
if myWritableStreamBuffer.size() > 0
|
||||
callback()
|
||||
else
|
||||
logger.err "no data in write stream buffer for health check"
|
||||
callback()
|
||||
err = "no data in write stream buffer for health check"
|
||||
logger.err {err,}, "error performing health check"
|
||||
callback(err)
|
||||
|
||||
checkFileConvert = (callback)->
|
||||
imgPath = path.join(settings.path.uploadFolder, "/tiny.pdf")
|
||||
|
@ -34,26 +43,13 @@ checkFileConvert = (callback)->
|
|||
], callback
|
||||
|
||||
|
||||
isOk = true
|
||||
|
||||
q = async.queue (task, callback)->
|
||||
task(callback)
|
||||
|
||||
|
||||
runChecks = (callback)->
|
||||
async.parallel [checkFileConvert, checkCanStoreFiles], (err)->
|
||||
if err?
|
||||
logger.err err:err, "Health check: error running"
|
||||
isOk = false
|
||||
else
|
||||
isOk = true
|
||||
callback()
|
||||
|
||||
module.exports =
|
||||
|
||||
check: (req, res)->
|
||||
if isOk
|
||||
res.send 200
|
||||
else
|
||||
res.send 500
|
||||
q.push runChecks # run in background 1 at a time
|
||||
check: (req, res) ->
|
||||
logger.log {}, "performing health check"
|
||||
async.parallel [checkFileConvert, checkCanStoreFiles], (err)->
|
||||
if err?
|
||||
logger.err err:err, "Health check: error running"
|
||||
res.send 500
|
||||
else
|
||||
res.send 200
|
||||
|
|
Loading…
Reference in a new issue