Habituellement, sur le web, attendre ne serait-ce qu'une minute est déjà une sorte de signal. Le délai d'attente standard de Chrome est de 3 minutes, donc je pense que vous devez absolument vérifier si votre serveur n'envoie pas d'erreur de délai d'attente sur votre requête à l'API externe.
Une autre bonne pratique d'écriture de serveur est de faire en sorte qu'il ne s'écrase jamais en cas d'erreur, de toujours tout entourer de try catch, d'utiliser des validations pour attraper les erreurs et renvoyer une réponse préparée, ou dans le pire des cas, d'afficher l'erreur dans la console du serveur, mais de faire en sorte que le serveur soit toujours disponible pour répondre à d'autres demandes après cela.
PM2 est formidable mais il n'est utile que si votre serveur tombe en panne de temps en temps et qu'il doit rester en marche, s'il tombe en panne régulièrement pm2 n'a aucune utilité, vous devez réparer votre serveur.
En y réfléchissant, vérifiez également si cette demande ne prend pas trop de ressources à traiter, si le système n'a plus de ressources, il arrêtera votre processus.