Проблема не столько в Foreman, сколько в том, что узел не перезагружает код при новых запросах. Решение состоит в том, чтобы использовать пакет npm, такой как supervisor вместе с оболочкой среды для Foreman.
Сначала установите супервизор:
npm install -g supervisor
Затем напишите скрипт оболочки-оболочки, который может вызывать Форман:
if [ "$NODE_ENV" == "production" ]; then
node /path/to/app.js
else
supervisor /path/to/app.js
fi
Установите права доступа скрипта-оболочки к исполняемому файлу, запустив chmod a+x /path/to/wrapper_script.sh
Наконец, обновите мастера, чтобы использовать сценарий оболочки. Так в вашем Procfile
:
web: /path/to/wrapper_script.sh
Теперь, когда вы запустили Foreman, а приложение вашего узла не запущено, оно должно перезагрузиться при каждом запросе.