Всё о web

Для чайников и не только


Запуск нескольких экземпляров приложения на pm2 (fork mode)

Март 7, 2017

Есть у нас, например, некое приложение, которое что-то делает в фоновом режиме, например обрабатывает очередь из rabbitmq. И нам, внезапно, захотелось запустить ещё пару его инстансов, чтобы работало в параллели несколько копий приложения.

Обычным pm2 start appname.js это не сделать. Для такого финта нужно создать конфиг-файл для pm2, pm2.json:

{
  "apps": [
    {
      "exec_mode": "fork_mode",
      "script": "appname.js",
      "name": "appname-0",
      "node_args": [ "--harmony" ],
      "env": {
        "NODE_ENV": "production"
      },
      "error_file": "./logs/appname-0.err.log",
      "out_file": "./logs/appname-0.out.log"
    },
    {
      "exec_mode": "fork_mode",
      "script": "appname.js",
      "name": "appname-1",
      "node_args": [ "--harmony" ],
      "env": {
        "NODE_ENV": "production"
      },
      "error_file": "./logs/appname-1.err.log",
      "out_file": "./logs/appname-1.out.log"
    }
    ...
  ]
}

После чего стартовать/стопать нужно командами:

pm2 start/stop pm2.json

Думаю пояснения конфига излишни.



Комментарии

Оставить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *