/ / Limpe o encerramento do servidor expresso.js + mongodb (usando node.js) - node.js, mongodb, express, shutdown

Limpeza do encerramento do servidor expresso.js + mongodb (usando node.js) - node.js, mongodb, express, shutdown

Eu tenho o servidor da Web node.js usando express.js e mongodb como um armazenamento de dados. Este servidor está sendo controlado por runite estou tentando implementar uma maneira de desligar o servidor.

Eu estou implementando manipuladores de sinal para SIGINT e SIGTERM, e estou ciente de que você pode parar de ouvir novas conexões chamando .close() no objeto retornado por createServer(). Por enquanto, tudo bem.

No entanto, mesmo quando não houver mais solicitações, pode haver várias solicitações no sistema que precisam ser concluídas antes que eu possa fechar o banco de dados.

Eu estou usando um mongodb ReplicaSet, e eu acho que se eu apenas chamar db.close() imediatamente, que algumas dessas solicitações podem falharde alguma maneira. Existe alguma maneira de fechar o banco de dados de uma maneira que permita que as consultas de banco de dados pendentes sejam concluídas ou eu precise ter manualmente um contador de +/- para ver quantas consultas "ativas" estão pendentes e aguardar o desligamento até atingir 0? ?

Respostas:

1 para resposta № 1

Você teria que garantir manualmente que está em um estado limpo para desligar, pois o driver não aguarda as operações restantes antes de desligar.

Sinta-se à vontade para registrar um ticket para o recurso em

https://github.com/mongodb/node-mongodb-native/issues/