require("dotenv").config({ path: "production.env" }); const fs = require("fs"); const https = require("https"); const app = require("./app"); const mongoose = require("mongoose"); const database = process.env.DB_CONNECTION.replace( "<password>", process.env.DB_PASSWORD ); mongoose .connect(database) .then((data) => console.log("Database connected successfully")) .catch((err) => console.log(err)); // Uncaught Exception process.on("uncaughtException", (err) => { console.log("UNHANDLER REJECTION, shutting down....."); console.log(err.name, err.message); process.exit(1); }); const port = process.env.PORT || 3000; const server = app.listen(port, () => { console.log(`Server listening at port ${port}:`); }); // unhandled Rejection process.on("unhandledRejection", (err) => { console.log("UNHANDLER REJECTION💥, shutting down...."); console.log(err.name, err.message); server.close(() => { process.exit(1); }); }); // Sigterm process.on("SIGTERM", () => { console.log("SIGTERM RECEIVED. Shutting down gracefully💥"); server.close(() => { console.log("💥Process terminated"); }); });