¿Cómo reiniciar la aplicación Node.js cuando ocurre una excepción no detectada?

En este artículo, vamos a aprender cómo reiniciar una aplicación Node.js cuando ocurre una excepción no detectada. Para ello, vamos a utilizar el módulo pm2.

Enfoque: Veamos el enfoque paso a paso:

  • Paso 1: instale el módulo pm2 y utilícelo para iniciar el servidor.
  • Paso 2: cuando ocurre una excepción no detectada, ejecute el comando process.exit() para detener el servidor.
  • Paso 3: Luego, el módulo pm2 iniciará automáticamente el servidor nuevamente.

process.exit() detiene el servidor y pm2 fuerza su inicio. De esta forma, el servidor se reiniciará.

Implementación: A continuación se muestra la implementación paso a paso del enfoque anterior.

Paso 1: Inicializa NPM: crea y localiza la carpeta de tu proyecto en la terminal y escribe el comando

npm init -y

Inicializa nuestra aplicación de Node y crea un archivo package.json.

Paso 2: Instale las dependencias: ubique el directorio de su proyecto raíz en la terminal y escriba el comando

npm install express pm2

Para instalar express y pm2 como dependencias dentro de su proyecto

Paso 3: Creando una lista de productos: Vamos a crear una array de productos y establecerla en productos constantes.

const products = [];

Paso 4: Creación de rutas para la página de inicio y la página de productos: Vamos a crear dos rutas para que los usuarios puedan acceder a la página de inicio y la página de productos.

app.get('/', (req, res) => {
   res.send('Hello Geeks!');
});

app.get('/products', (req, res) => {
   if (products.length === 0) {
       res.send('No products found!');
       process.exit();
   } else {
       res.json(products);
   }
});

Dentro de la ruta del producto, usamos el método process.exit() para detener el servidor.

Código completo:

Javascript

const express = require('express');
const app = express();
const products = [];
  
app.get('/', (req, res) => {
    res.send('Hello Geeks!');
});
  
app.get('/products', (req, res) => {
    if (products.length === 0) {
        res.send('No products found!');
        process.exit();
    } else {
        res.json(products);
    }
});
  
  
app.listen(3000, ()=>{
    console.log('listening on port 3000');
});

Pasos para ejecutar la aplicación: Dentro de la terminal, escriba el comando para ejecutar su script ‘app.js’ con pm2.

pm2 start app.js

Producción:

 

Publicación traducida automáticamente

Artículo escrito por devaadi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *