Wolkendama-API / server.js
server.js
Raw
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");
  });
});