Django: variáveis no nível do aplicativo

Eu criei um aplicativo Django-rest-framework. Ele expõe alguma API que realiza algumas operações de obtenção / configuração no banco de dados MySQL.

Eu tenho um requisito de fazer uma solicitação HTTP para outro servidor e pegar essa resposta junto com a resposta usual. Estou tentando usar um pool de conexões HTTP auto-criado para fazer solicitações HTTP em vez de fazer novas conexões em cada solicitação.

Qual é o local mais apropriado para manter este objeto de pool de conexões HTTP no nível do aplicativo?

Eu olhei em volta e há várias soluções, cada uma com alguns contras. Aqui estão alguns:

Para criar uma classe singleton do pool em um arquivo diff, mas essa não é uma boa maneira pitônica de fazer as coisas. Existem várias discussões sobre por que não usar o padrão de design singleton.

Além disso, não sei o quão inteligente seria agrupar um pooler? (: P)

Para mantê-loiniciar.py do diretório do aplicativo. O problema é o seguinte:Deve conter apenas importações e itens relacionados a isso.Será difícil testar o código da unidade porque a importação aconteceria antes da zombaria e tentaria realmente atingir a API.

Para usar sessões, mas acho que faz mais sentido se fosse algo específico da sessão do usuário, como um número específico do usuário, etc.

Além disso, o objeto precisa ser serializado. Não sei como o pool de conexões HTTP pode ser serializado.

Mantê-lo global em views.py, mas isso também é desencorajado.

Qual é o melhor local para armazenar essas variáveis de aplicativo / nível global?

questionAnswers(1)

yourAnswerToTheQuestion