Pergunta

Eu tenho um serviço simples que faz aproximadamente o seguinte:

  1. Um cliente HTTP se conecta ao servidor
  2. O servidor escreve o SessionID do cliente e o registro de data e hora no banco de dados e, na maioria dos casos, apenas retorna uma resposta vazia

(Os casos em que faz trabalho real e retornam dados reais são irrelevantes para esta questão)

Para retornar essa resposta o mais rápido possível, gostaria de escrever as informações para o Memcache no corpo do manipulador de solicitação (porque o memcache é rápido) e gerar um tópico separado em que outra função usando sqlalchemy o escreverá para o persistente armazenar. Dessa forma, poderei voltar imediatamente depois de escrever para o Memcache e a desova de um tópico, e o manipulador de solicitação não precisará esperar até que o SQLalChemy salve as informações no banco de dados.

Isso faz sentido? Se sim, como devo implementá -lo?

Foi útil?

Solução

Você poderia usar algo como o Fila de tarefas distribuídas ao aipo Para descarregar o processamento para outras máquinas. Exige a configuração de uma infraestrutura separada, mas permitirá que as tarefas sejam entregues das solicitações da Web de processamento em segundo plano, enquanto o HTTP repsonse à solicitação pode ser retornado imediatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top