У меня есть приложение Node.JS, которое осуществляет доступ к базе данных MySQL, несколько HTTP-запросов, сохраняет ответ CSV в файл, читает тот же файл и записывает в Cassandra. Я запускаю его в Ubuntu 14.04 и использую Express, чтобы предоставить веб-API, который выполняет все вышеперечисленные задачи.
У меня есть другое приложение, написанное на Node.JS, которое вызывает API для 200 пользователей. Поскольку это Node.JS, вызовы асинхронные.
Я запускаю приложение Express, используя:
node index.js
Когда я запускаю другой скрипт, который обращается к Express API, скрипт работает нормально для 200 пользователей с ответом:
{"status":200,"message":"Got the data and saved to the DB"}
Когда я запускаю одно и то же приложение Express, используя Forever:
forever start -w index.js
а затем запустить cron Script для 200 пользователей, я получаю
err { [Error: socket hang up] code: 'ECONNRESET' }
и когда я открываю файл журнала, это то, что я нашел:
error: restarting script because add changed
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #5
Теперь, когда приложение работает нормально во время работы на переднем плане и останавливается во время работы в фоновом режиме, нужно ли ему что-то делать с тем, сколько ресурсов выделяется процессу демона?
Должен ли я запустить свой сервер? Или я могу выделить больше ресурсов для приложения Express?
forever
без флага-w
? - person robertklep   schedule 01.09.2015