Я создал простое приложение для узлов с помощью 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)
})
На промежуточной машине сбоев нет вообще.
Я начинаю думать, что это как-то связано с док-контейнером на лазури, но у меня нет признаков этого.
** Важно, чтобы веб-приложение всегда было активным **
Любые идеи или предложения