2015-09-01 4 views
3

У меня есть приложение Node.JS, которое использует доступ к MySQL DB, несколько HTTP-запросов, сохраняет CSV-ответ в файл, считывает тот же файл и записывает в Cassandra. Я запускаю его на Ubuntu 14.04, и я использую Express, чтобы открыть веб-API, который выполняет все вышеперечисленные задачи.NodeJS Script, убитый SIGKILL при работе на Forever

У меня есть другое приложение, написанное в Node.JS, которое вызывает API для 200 пользователей. Поскольку это Node.JS, вызовы Async.

я бегу Экспресс приложение с помощью:

node index.js 

Когда я запускаю другой сценарий, который ударяет API Экспресс, скрипт работает нормально для 200 пользователей с ответом:

{"status":200,"message":"Got the data and saved to the DB"}

Когда я запускаю такое же Экспресс-приложение, используя Forever:

forever start -w index.js 

, а затем запустить хрон сценарий для 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 App?

+0

Попробуйте запустить 'forever' без флага' -w'? – robertklep

+0

Я сделал, но такой же результат. Я постоянно вытаскивал новый код из бит-ведра в этот репозиторий, поэтому флаг -w. – vnay92

+0

Получил! Должен ли добавить папку в .foreverignore – vnay92

ответ

3

Кажется, что у вас возникли проблемы с изменением файлов или атрибутов файлов путем вытягивания нового кода.

пытаются настроить .foreverignore скрытых подкаталогов, как описано здесь

https://github.com/foreverjs/forever/issues/235

Если вы не можете игнорировать или остановить обновление, что файлы, которые вы должны прекратить использовать навсегда для просмотра файлов обновления

Я могу порекомендовать http://supervisord.org/ для запуска приложения nodejs на машинах Linux.

+0

Могу ли я явно выделять ресурсы навсегда? Это может быть проблема с памятью. – vnay92

+0

Что вы имеете в виду? Я думаю, что речь идет не о ресурсах, а навсегда перезапустилась, наблюдая за изменениями файлов, и это так. В случае низкой памяти вы увидите ошибки ENOMEM или около того. В любом случае, все, что вы можете делать с ресурсами - измените 'ulimit', но речь идет о дескрипторах, сокетах – vmkcom

+0

в порядке. я попробую. – vnay92

Смежные вопросы