Повторные ошибки приведут к тому, что Forever прекратит перезапуск приложения node.js

Я использую сервер node.js в качестве бэкенда для клиентского приложения Javascript, и мы используем Forever для запуска приложения node.js.

В клиентском коде обнаружена ошибка, которая указывает неверный путь при попытке открыть файл (из-за нечувствительности к регистру на нашем текущем сервере). Ошибка не обрабатывается должным образом, и это приводит к сбою node.js. Первые несколько раз, когда это происходит, Forever успешно перезапускает приложение, но после многократного вызова ошибки Forever не сможет восстановить приложение, и мы получаем ошибку 502 шлюза при попытке перейти на любую из страниц сервера.

Вот необработанная ошибка:

Error: ENOENT, no such file or directory 'public/projects/testHoc7/hocProject121/agents/agent1/index.agent'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.writeFileSync (fs.js:971:15)
    at Object.editAgentXML [as edit_agent_XML] (/srv/AgentCubesOnline/project.js:699:5)
    at /srv/AgentCubesOnline/project.js:313:30
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/collection/query.js:159:5
    at Cursor.nextObject (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/cursor.js:742:5)
    at commandHandler (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/cursor.js:716:14)
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/db.js:1847:9
    at Server.Base._callHandler (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/connection/server.js:478:18
error: Forever detected script exited with code: 8
error: Script restart attempt #8

/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/connection/base.js:245
        throw message; 

и вот сообщение журнала, которое мы получаем, когда Forever не может перезапустить приложение:

Error: ENOENT, no such file or directory 'public/projects/testHoc7/hocProject121/agents/agent1/index.agent'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.writeFileSync (fs.js:971:15)
    at Object.editAgentXML [as edit_agent_XML] (/srv/AgentCubesOnline/project.js:699:5)
    at /srv/AgentCubesOnline/project.js:313:30
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/collection/query.js:159:5
    at Cursor.nextObject (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/cursor.js:742:5)
    at commandHandler (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/cursor.js:716:14)
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/db.js:1847:9
    at Server.Base._callHandler (/srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
    at /srv/AgentCubesOnline/node_modules/mongodb/lib/mongodb/connection/server.js:478:18
error: Forever detected script exited with code: 8

/usr/lib/node_modules/forever/node_modules/forever-monitor/node_modules/broadway/node_modules/eventemitter2/lib/eventemitter2.js:283
          throw arguments[1]; // Unhandled 'error' event
                         ^
Error: Cannot stop process that is not running.
    at /usr/lib/node_modules/forever/node_modules/forever-monitor/lib/forever-monitor/monitor.js:332:26
    at process._tickCallback (node.js:419:13)

Конечно, мы исправим ошибку и добавим правильную обработку ошибок, но в настоящее время я больше заинтересован в том, чтобы выяснить, как предотвратить ошибку Forever. Что может заставить Forever перестать возвращать node.js?

0 ответов

Другие вопросы по тегам