mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
Merge pull request #309 from sharelatex/fix-compile-check
clean up compile check
This commit is contained in:
commit
1592ca7623
2 changed files with 23 additions and 5 deletions
|
@ -48,6 +48,10 @@ module.exports = ClsiCookieManager =
|
||||||
multi.exec (err)->
|
multi.exec (err)->
|
||||||
callback(err, serverId)
|
callback(err, serverId)
|
||||||
|
|
||||||
|
clearServerId: (project_id, callback = (err)->)->
|
||||||
|
if !clsiCookiesEnabled
|
||||||
|
return callback()
|
||||||
|
rclient.del buildKey(project_id), callback
|
||||||
|
|
||||||
getCookieJar: (project_id, callback = (err, jar)->)->
|
getCookieJar: (project_id, callback = (err, jar)->)->
|
||||||
if !clsiCookiesEnabled
|
if !clsiCookiesEnabled
|
||||||
|
|
|
@ -22,6 +22,7 @@ UserPagesController = require('./Features/User/UserPagesController')
|
||||||
DocumentController = require('./Features/Documents/DocumentController')
|
DocumentController = require('./Features/Documents/DocumentController')
|
||||||
CompileManager = require("./Features/Compile/CompileManager")
|
CompileManager = require("./Features/Compile/CompileManager")
|
||||||
CompileController = require("./Features/Compile/CompileController")
|
CompileController = require("./Features/Compile/CompileController")
|
||||||
|
ClsiCookieManager = require("./Features/Compile/ClsiCookieManager")
|
||||||
HealthCheckController = require("./Features/HealthCheck/HealthCheckController")
|
HealthCheckController = require("./Features/HealthCheck/HealthCheckController")
|
||||||
ProjectDownloadsController = require "./Features/Downloads/ProjectDownloadsController"
|
ProjectDownloadsController = require "./Features/Downloads/ProjectDownloadsController"
|
||||||
FileStoreController = require("./Features/FileStore/FileStoreController")
|
FileStoreController = require("./Features/FileStore/FileStoreController")
|
||||||
|
@ -251,14 +252,27 @@ module.exports = class Router
|
||||||
apiRouter.get '/health_check/redis', HealthCheckController.checkRedis
|
apiRouter.get '/health_check/redis', HealthCheckController.checkRedis
|
||||||
|
|
||||||
apiRouter.get "/status/compiler/:Project_id", AuthorizationMiddlewear.ensureUserCanReadProject, (req, res) ->
|
apiRouter.get "/status/compiler/:Project_id", AuthorizationMiddlewear.ensureUserCanReadProject, (req, res) ->
|
||||||
|
project_id = req.params.Project_id
|
||||||
sendRes = _.once (statusCode, message)->
|
sendRes = _.once (statusCode, message)->
|
||||||
res.writeHead statusCode
|
res.status statusCode
|
||||||
res.end message
|
res.send message
|
||||||
CompileManager.compile req.params.Project_id, "test-compile", {}, () ->
|
ClsiCookieManager.clearServerId project_id # force every compile to a new server
|
||||||
sendRes 200, "Compiler returned in less than 10 seconds"
|
# set a timeout
|
||||||
setTimeout (() ->
|
handler = setTimeout (() ->
|
||||||
sendRes 500, "Compiler timed out"
|
sendRes 500, "Compiler timed out"
|
||||||
|
handler = null
|
||||||
), 10000
|
), 10000
|
||||||
|
# use a valid user id for testing
|
||||||
|
test_user_id = "123456789012345678901234"
|
||||||
|
# run the compile
|
||||||
|
CompileManager.compile project_id, test_user_id, {}, (error, status) ->
|
||||||
|
clearTimeout handler if handler?
|
||||||
|
if error?
|
||||||
|
sendRes 500, "Compiler returned error #{error.message}"
|
||||||
|
else if status is "success"
|
||||||
|
sendRes 200, "Compiler returned in less than 10 seconds"
|
||||||
|
else
|
||||||
|
sendRes 500, "Compiler returned failure #{status}"
|
||||||
|
|
||||||
apiRouter.get "/ip", (req, res, next) ->
|
apiRouter.get "/ip", (req, res, next) ->
|
||||||
res.send({
|
res.send({
|
||||||
|
|
Loading…
Reference in a new issue