ProjectHistoryApp.js 713 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { app } from '../../../../app/js/server.js'
  2. import { mongoClient } from '../../../../app/js/mongodb.js'
  3. import './MongoHelper.js'
  4. let running = false
  5. let initPromise = null
  6. async function initialize() {
  7. try {
  8. await new Promise((resolve, reject) => {
  9. app.listen(3054, '127.0.0.1', error => {
  10. if (error) return reject(error)
  11. resolve()
  12. })
  13. })
  14. // Wait for mongo
  15. await mongoClient.connect()
  16. running = true
  17. } catch (error) {
  18. initPromise = null
  19. throw error
  20. }
  21. }
  22. export async function ensureRunning() {
  23. if (running) {
  24. return
  25. }
  26. if (initPromise) {
  27. return await initPromise
  28. }
  29. initPromise = initialize()
  30. return await initPromise
  31. }