echo75 / my-movie-db

MIT License
1 stars 0 forks source link

#ErrorHandling The app shouldn't crash just because there's a config parameter missing #4

Closed Dr4gon closed 1 year ago

Dr4gon commented 1 year ago

@echo75 Your app needs to have a fallback, in case some configuration parameters are missing. Then I don't need to restart, and a production environment would be more stable. I remember one project where we built the possibility to on the fly change the configuration files and it's stored inmemory.

graduation-project-johan-hedman-api-1       | app.js is running
graduation-project-johan-hedman-api-1       | /app/node_modules/connect-mongo/build/main/lib/MongoStore.js:126
graduation-project-johan-hedman-api-1       |                 .db(options.dbName)
graduation-project-johan-hedman-api-1       |                  ^
graduation-project-johan-hedman-api-1       | 
graduation-project-johan-hedman-api-1       | TypeError: Cannot read properties of undefined (reading 'db')
graduation-project-johan-hedman-api-1       |     at /app/node_modules/connect-mongo/build/main/lib/MongoStore.js:126:18
graduation-project-johan-hedman-api-1       |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
graduation-project-johan-hedman-api-1       | 
graduation-project-johan-hedman-api-1       | Node.js v20.5.1
graduation-project-johan-hedman-api-1       | 
graduation-project-johan-hedman-api-1       | [nodemon] app crashed - waiting for file changes before starting...

Reproducer:

  1. Delete any configuration parameter out of .env file
  2. docker-compose up
  3. Bam you get the error