Если ваша программа выдала неперехваченную ошибку и потерпела крах, то вы ничего не можете сделать, кроме как запустить ее заново.Вы можете использовать что-то вроде pm2 для автоматического перезапуска процесса вашего узла, когда он завершится сбоем, и тогда по крайней мере будущие запросы должны работать (хотя вы потеряете все данные в памяти до последнего сбоя).
Еще одна вещь, которая, как мне кажется, помогла бы вам, - это перенести ваш бэкэнд на безсерверную архитектуру, где каждый вызов вашего кода не зависит от других.
И, конечно, попробуйте исправить код так,то, что это обрабатывает вещи изящно и фактически не бросает ошибки.:)