don't start l-s until config is valid
This commit is contained in:
parent
20130eb24a
commit
db79f958c8
5 changed files with 31 additions and 24 deletions
29
lib/app.js
29
lib/app.js
|
|
@ -2,13 +2,12 @@ const fs = require('fs')
|
||||||
const http = require('http')
|
const http = require('http')
|
||||||
const https = require('https')
|
const https = require('https')
|
||||||
const express = require('express')
|
const express = require('express')
|
||||||
const loop = require('reoccur')
|
|
||||||
const argv = require('minimist')(process.argv.slice(2))
|
const argv = require('minimist')(process.argv.slice(2))
|
||||||
|
|
||||||
const routes = require('./routes')
|
const routes = require('./routes')
|
||||||
const logger = require('./logger')
|
const logger = require('./logger')
|
||||||
const poller = require('./poller')
|
const poller = require('./poller')
|
||||||
|
const verifySchema = require('./verify-schema')
|
||||||
const settingsLoader = require('./settings-loader')
|
const settingsLoader = require('./settings-loader')
|
||||||
const options = require('./options')
|
const options = require('./options')
|
||||||
|
|
||||||
|
|
@ -16,23 +15,27 @@ const devMode = argv.dev || argv.http || options.http
|
||||||
|
|
||||||
function run () {
|
function run () {
|
||||||
let count = 0
|
let count = 0
|
||||||
return loop((recur, resolve, reject) => {
|
|
||||||
return runOnce()
|
const errorHandler = err => {
|
||||||
.then(resolve)
|
count += 1
|
||||||
.catch(err => {
|
logger.error(err)
|
||||||
count += 1
|
logger.error('[%d] Retrying in 10s...', count)
|
||||||
logger.debug(err)
|
}
|
||||||
logger.debug('[%d] Retrying in 10s...', count)
|
|
||||||
setTimeout(recur, 10000)
|
const runner = () => runOnce()
|
||||||
})
|
.then(() => clearInterval(handler))
|
||||||
})
|
.catch(errorHandler)
|
||||||
|
|
||||||
|
const handler = setInterval(runner, 10000)
|
||||||
|
return runner()
|
||||||
}
|
}
|
||||||
|
|
||||||
function runOnce () {
|
function runOnce () {
|
||||||
const app = express()
|
const app = express()
|
||||||
const localApp = express()
|
const localApp = express()
|
||||||
|
|
||||||
return settingsLoader.loadLatest()
|
return verifySchema.valid()
|
||||||
|
.then(() => settingsLoader.loadLatest())
|
||||||
.then(settings => {
|
.then(settings => {
|
||||||
poller.start(settings)
|
poller.start(settings)
|
||||||
|
|
||||||
|
|
|
||||||
12
lib/verify-schema.js
Normal file
12
lib/verify-schema.js
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
const util = require('util')
|
||||||
|
const config = require('./admin/config')
|
||||||
|
|
||||||
|
function valid () {
|
||||||
|
return config.validateConfig()
|
||||||
|
.then(errors => {
|
||||||
|
if (errors.length === 0) return
|
||||||
|
throw new Error('Schema validation error: ' + util.inspect(errors, {colors: true}))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {valid}
|
||||||
|
|
@ -36,7 +36,6 @@
|
||||||
"pify": "^2.3.0",
|
"pify": "^2.3.0",
|
||||||
"pretty-ms": "^2.1.0",
|
"pretty-ms": "^2.1.0",
|
||||||
"ramda": "^0.22.1",
|
"ramda": "^0.22.1",
|
||||||
"reoccur": "^1.0.0",
|
|
||||||
"serve-static": "^1.11.1",
|
"serve-static": "^1.11.1",
|
||||||
"uuid": "^3.0.0",
|
"uuid": "^3.0.0",
|
||||||
"winston": "^2.3.0"
|
"winston": "^2.3.0"
|
||||||
|
|
|
||||||
|
|
@ -346,7 +346,8 @@ p {
|
||||||
|
|
||||||
.lamassuAdminNavBar {
|
.lamassuAdminNavBar {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0 0 60px 0;
|
||||||
|
background-color: #2d2d2d;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
10
yarn.lock
10
yarn.lock
|
|
@ -1969,10 +1969,6 @@ regenerator@~0.8.13:
|
||||||
regenerator-runtime "~0.9.5"
|
regenerator-runtime "~0.9.5"
|
||||||
through "~2.3.8"
|
through "~2.3.8"
|
||||||
|
|
||||||
reoccur@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/reoccur/-/reoccur-1.0.0.tgz#62578914654cfe7583caf7a609ed30a3e9a4197d"
|
|
||||||
|
|
||||||
repeat-string@^1.5.2:
|
repeat-string@^1.5.2:
|
||||||
version "1.6.1"
|
version "1.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
||||||
|
|
@ -2353,11 +2349,7 @@ underscore.string@2.4.0, underscore.string@~2.4.0:
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b"
|
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b"
|
||||||
|
|
||||||
underscore@1.x:
|
underscore@1.x, underscore@~1.7.0:
|
||||||
version "1.8.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
|
|
||||||
|
|
||||||
underscore@~1.7.0:
|
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
|
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue