Приложение Azure expressjs аварийно завершает работу без ошибок - PullRequest
0 голосов
/ 19 октября 2018

Я создал простое приложение для узлов с помощью expressjs, которое применяет socket.io.Чтобы сокеты могли взаимодействовать в режиме кластера в Azure, приложение также использует кэш redis из Azure.

Этот проект был развернут в Azure в веб-приложении Linux, в котором используется контейнер Docker.

Проблема в том, что я сталкиваюсь со случайным сбоем приложения после 18 часов до 36 (как я видел), и когда вы посещаете URL, вы видите веб-страницу ошибки nginx.

Я использовал следующий код для обнаружения ошибки в журналах, а также развернул ее в промежуточной среде на машине linux, которой я владею

process
  .on('unhandledRejection', (reason, p) => {
    logger.error(reason, 'Unhandled Rejection at Promise', p)
  })
  .on('uncaughtException', err => {
    logger.error(err, 'Uncaught Exception thrown')
    process.exit(1)
  })

На промежуточной машине сбоев нет вообще.

Я начинаю думать, что это как-то связано с док-контейнером на лазури, но у меня нет признаков этого.

** Важно, чтобы веб-приложение всегда было активным **

Любые идеи или предложения

1 Ответ

0 голосов
/ 30 октября 2018

У меня было нечто подобное раньше.В моем случае это произошло из-за того, что у меня не было ротации журналов, поэтому файл журнала вырастал бы в уникальный гигантский файл, что делало невозможным запись на него сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...