Просмотр исходного кода

Merge pull request #3568 from overleaf/ae-mongo-promises

Wait for mongoose to connect before starting the server

GitOrigin-RevId: 4b470369b070f17b32e47106fada7cb4adf2a12c
Alf Eaton 5 лет назад
Родитель
Сommit
181f9f88fb
2 измененных файлов с 3 добавлено и 2 удалено
  1. 2 2
      services/web/app.js
  2. 1 0
      services/web/app/src/infrastructure/Mongoose.js

+ 2 - 2
services/web/app.js

@@ -25,6 +25,7 @@ if ((Settings.sentry != null ? Settings.sentry.dsn : undefined) != null) {
 metrics.memory.monitor(logger)
 const Server = require('./app/src/infrastructure/Server')
 const mongodb = require('./app/src/infrastructure/mongodb')
+const mongoose = require('./app/src/infrastructure/Mongoose')
 const Queues = require('./app/src/infrastructure/Queues')
 
 Queues.initialize()
@@ -44,8 +45,7 @@ if (!module.parent) {
   if (!process.env.WEB_API_USER || !process.env.WEB_API_PASSWORD) {
     throw new Error('No API user and password provided')
   }
-  mongodb
-    .waitForDb()
+  Promise.all([mongodb.waitForDb(), mongoose.connectionPromise])
     .then(() => {
       Server.server.listen(port, host, function() {
         logger.info(`web starting up, listening on ${host}:${port}`)

+ 1 - 0
services/web/app/src/infrastructure/Mongoose.js

@@ -56,5 +56,6 @@ async function getNativeDb() {
 }
 
 mongoose.getNativeDb = getNativeDb
+mongoose.connectionPromise = connectionPromise
 
 module.exports = mongoose