don't start l-s until config is valid

This commit is contained in:
Josh Harvey 2016-12-10 00:11:34 +02:00
parent 20130eb24a
commit db79f958c8
5 changed files with 31 additions and 24 deletions

View file

@ -2,13 +2,12 @@ const fs = require('fs')
const http = require('http')
const https = require('https')
const express = require('express')
const loop = require('reoccur')
const argv = require('minimist')(process.argv.slice(2))
const routes = require('./routes')
const logger = require('./logger')
const poller = require('./poller')
const verifySchema = require('./verify-schema')
const settingsLoader = require('./settings-loader')
const options = require('./options')
@ -16,23 +15,27 @@ const devMode = argv.dev || argv.http || options.http
function run () {
let count = 0
return loop((recur, resolve, reject) => {
return runOnce()
.then(resolve)
.catch(err => {
count += 1
logger.debug(err)
logger.debug('[%d] Retrying in 10s...', count)
setTimeout(recur, 10000)
})
})
const errorHandler = err => {
count += 1
logger.error(err)
logger.error('[%d] Retrying in 10s...', count)
}
const runner = () => runOnce()
.then(() => clearInterval(handler))
.catch(errorHandler)
const handler = setInterval(runner, 10000)
return runner()
}
function runOnce () {
const app = express()
const localApp = express()
return settingsLoader.loadLatest()
return verifySchema.valid()
.then(() => settingsLoader.loadLatest())
.then(settings => {
poller.start(settings)