app.js 686 B

12345678910111213141516171819202122232425
  1. // Metrics must be initialized before importing anything else
  2. import '@overleaf/metrics/initialize.js'
  3. import Settings from '@overleaf/settings'
  4. import logger from '@overleaf/logger'
  5. import { app } from './app/js/server.js'
  6. import * as ASpell from './app/js/ASpell.js'
  7. const { host = 'localhost', port = 3005 } = Settings.internal?.spelling ?? {}
  8. ASpell.startCacheDump()
  9. const server = app.listen(port, host, function (error) {
  10. if (error) {
  11. throw error
  12. }
  13. logger.info({ host, port }, 'spelling HTTP server starting up')
  14. })
  15. process.on('SIGTERM', () => {
  16. ASpell.stopCacheDump()
  17. server.close(() => {
  18. logger.info({ host, port }, 'spelling HTTP server closed')
  19. })
  20. })