Merge pull request #3682 from overleaf/bg-check-maintenance-file
check maintenance file periodically to close site GitOrigin-RevId: 8e29f40a23df96198c6e4603ede2bab852b98740
This commit is contained in:
@@ -10,8 +10,14 @@ const {
|
||||
|
||||
module.exports = {
|
||||
check(req, res, next) {
|
||||
// detach from express for cleaner stack traces
|
||||
setTimeout(() => runSmokeTestsDetached(req, res).catch(next))
|
||||
if (!settings.siteIsOpen || !settings.editorIsOpen) {
|
||||
// always return successful health checks when site is closed
|
||||
res.contentType('application/json')
|
||||
res.sendStatus(200)
|
||||
} else {
|
||||
// detach from express for cleaner stack traces
|
||||
setTimeout(() => runSmokeTestsDetached(req, res).catch(next))
|
||||
}
|
||||
},
|
||||
|
||||
checkActiveHandles(req, res, next) {
|
||||
|
||||
@@ -98,11 +98,13 @@ const AdminController = {
|
||||
return res.render('admin/register')
|
||||
},
|
||||
|
||||
dissconectAllUsers: (req, res) => {
|
||||
disconnectAllUsers: (req, res) => {
|
||||
logger.warn('disconecting everyone')
|
||||
const delay = (req.query && req.query.delay) > 0 ? req.query.delay : 10
|
||||
EditorRealTimeController.emitToAll(
|
||||
'forceDisconnect',
|
||||
'Sorry, we are performing a quick update to the editor and need to close it down. Please refresh the page to continue.'
|
||||
'Sorry, we are performing a quick update to the editor and need to close it down. Please refresh the page to continue.',
|
||||
delay
|
||||
)
|
||||
return res.sendStatus(200)
|
||||
},
|
||||
|
||||
@@ -954,9 +954,9 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
||||
AdminController.closeEditor
|
||||
)
|
||||
webRouter.post(
|
||||
'/admin/dissconectAllUsers',
|
||||
'/admin/disconnectAllUsers',
|
||||
AuthorizationMiddleware.ensureUserIsSiteAdmin,
|
||||
AdminController.dissconectAllUsers
|
||||
AdminController.disconnectAllUsers
|
||||
)
|
||||
webRouter.post(
|
||||
'/admin/flushProjectToTpds',
|
||||
@@ -981,14 +981,20 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
||||
|
||||
privateApiRouter.post(
|
||||
'/disconnectAllUsers',
|
||||
AdminController.dissconectAllUsers
|
||||
AdminController.disconnectAllUsers
|
||||
)
|
||||
|
||||
privateApiRouter.get('/perfTest', (req, res) => res.send('hello'))
|
||||
|
||||
publicApiRouter.get('/status', (req, res) =>
|
||||
res.send('web sharelatex is alive (web)')
|
||||
)
|
||||
publicApiRouter.get('/status', (req, res) => {
|
||||
if (!Settings.siteIsOpen) {
|
||||
res.send('web site is closed (web)')
|
||||
} else if (!Settings.editorIsOpen) {
|
||||
res.send('web editor is closed (web)')
|
||||
} else {
|
||||
res.send('web sharelatex is alive (web)')
|
||||
}
|
||||
})
|
||||
privateApiRouter.get('/status', (req, res) =>
|
||||
res.send('web sharelatex is alive (api)')
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user