PM2 в режиме кластера, не запускайте после перезагрузки, пока я не удалю папку - PullRequest
1 голос
/ 24 февраля 2020

Я новичок в NodeJS, но по некоторым причинам мне нужно использовать это приложение: https://github.com/ZitRos/save-analytics-from-content-blockers

Я клонировал репозиторий, установил необходимые модули с помощью npm установить, и я могу запустить приложение с помощью команды npm start.

Поскольку мне нужно запустить приложение при загрузке, и я хочу использовать его в нескольких потоках, я установил и настроил PM2 для этого, и я использую этот ecosystem.config. js:

module.exports = {
  apps : [{
    name: 'Analytics Proxy',
    script: './src/api.js',
    cwd: '/server/proyects/analytics_proxy/',

    // Options reference: https://pm2.keymetrics.io/docs/usage/application-declaration/
    interpreter_args: '-r esm',
    instances: 1,
    exec_mode: 'cluster',
    autorestart: true,
    watch: true,
    max_memory_restart: '256M',
    env: {
      NODE_ENV: 'production'
    },
  }],
};

При первой попытке кластер работал без проблем даже с 4 экземплярами, но после перезагрузки я заметил что кластер не загрузится снова. После просмотра журналов я обнаружил, что при поиске модуля ESM произошла ошибка:

Error: Cannot find module 'esm'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at Module._preloadModules (internal/modules/cjs/loader.js:901:12)
    at preloadModules (internal/bootstrap/node.js:602:7)
    at startup (internal/bootstrap/node.js:273:9)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

Я попытался установить модуль глобально и не решил проблему, но в любом случае странно, потому что в Режим Fork запускается без проблем даже после перезагрузки, и если я удаляю всю папку /root.pm2/, она снова работает в кластерном режиме.

Также Если я использую команду обновления pm2, иногда она снова работает , Обновление PM2

Кто-нибудь знает, как я могу решить эту проблему?.

С уважением, и спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...