Skip to content
Snippets Groups Projects
Commit 456ad8e1 authored by Xiao Gui's avatar Xiao Gui
Browse files

feat: add dataset init ready flag

parent 99635bfd
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,7 @@ const crypto = require('crypto') ...@@ -8,6 +8,7 @@ const crypto = require('crypto')
const cookieParser = require('cookie-parser') const cookieParser = require('cookie-parser')
const { router: regionalFeaturesRouter, regionalFeatureIsReady } = require('./regionalFeatures') const { router: regionalFeaturesRouter, regionalFeatureIsReady } = require('./regionalFeatures')
const { router: datasetRouter, ready: datasetRouteIsReady } = require('./datasets')
const LOCAL_CDN_FLAG = !!process.env.PRECOMPUTED_SERVER const LOCAL_CDN_FLAG = !!process.env.PRECOMPUTED_SERVER
...@@ -167,9 +168,11 @@ app.use('/logo', require('./logo')) ...@@ -167,9 +168,11 @@ app.use('/logo', require('./logo'))
app.get('/ready', async (req, res) => { app.get('/ready', async (req, res) => {
const authIsReady = await authReady() const authIsReady = await authReady()
const regionalFeatureReady = await regionalFeatureIsReady() const regionalFeatureReady = await regionalFeatureIsReady()
const datasetReady = await datasetRouteIsReady()
const allReady = [ const allReady = [
authIsReady, authIsReady,
regionalFeatureReady, regionalFeatureReady,
datasetReady,
/** /**
* add other ready endpoints here * add other ready endpoints here
* call sig is await fn(): boolean * call sig is await fn(): boolean
...@@ -205,7 +208,6 @@ const jsonMiddleware = (req, res, next) => { ...@@ -205,7 +208,6 @@ const jsonMiddleware = (req, res, next) => {
const atlasesRouter = require('./atlas') const atlasesRouter = require('./atlas')
const templateRouter = require('./templates') const templateRouter = require('./templates')
const nehubaConfigRouter = require('./nehubaConfig') const nehubaConfigRouter = require('./nehubaConfig')
const datasetRouter = require('./datasets')
const pluginRouter = require('./plugins') const pluginRouter = require('./plugins')
const previewRouter = require('./preview') const previewRouter = require('./preview')
......
...@@ -15,13 +15,19 @@ const bodyParser = require('body-parser') ...@@ -15,13 +15,19 @@ const bodyParser = require('body-parser')
datasetsRouter.use(bodyParser.urlencoded({ extended: false })) datasetsRouter.use(bodyParser.urlencoded({ extended: false }))
datasetsRouter.use(bodyParser.json()) datasetsRouter.use(bodyParser.json())
let readyFlag = false
init() init()
.then(() => console.log(`dataset init success`)) .then(() => {
console.log(`dataset init success`)
readyFlag = true
})
.catch(e => { .catch(e => {
console.warn(`dataset init failed`, e) console.warn(`dataset init failed`, e)
retry(() => init()) retry(() => init())
}) })
const ready = async () => readyFlag
const cacheMaxAge24Hr = (_req, res, next) => { const cacheMaxAge24Hr = (_req, res, next) => {
const oneDay = 24 * 60 * 60 const oneDay = 24 * 60 * 60
res.setHeader('Cache-Control', `max-age=${oneDay}`) res.setHeader('Cache-Control', `max-age=${oneDay}`)
...@@ -243,4 +249,7 @@ datasetsRouter.post('/bulkDownloadKgFiles', bodyParser.urlencoded({ extended: fa ...@@ -243,4 +249,7 @@ datasetsRouter.post('/bulkDownloadKgFiles', bodyParser.urlencoded({ extended: fa
} }
}) })
module.exports = datasetsRouter module.exports = {
router: datasetsRouter,
ready
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment