Pregunta

Tengo un servicio simple que hace aproximadamente lo siguiente:

  1. Un cliente HTTP se conecta al servidor
  2. El servidor escribe el SessionID del cliente y la marca de tiempo a la base de datos, y en la mayoría de los casos solo devuelve una respuesta vacía

(Los casos en que realiza trabajo real y devuelve los datos reales son irrelevantes para esta pregunta)

Para devolver esta respuesta lo antes posible, me gustaría escribir la información a Memcache en el cuerpo del controlador de solicitudes (porque Memcache es rápido) y generar un hilo separado donde otra función usando Sqlalchemy la escribirá a la persistente almacenamiento. De esta manera, podré regresar inmediatamente después de escribir a Memcache y generar un hilo, y el controlador de solicitudes no tendrá que esperar hasta que Sqlalchemy guarde la información a la base de datos.

¿Esto tiene sentido? En caso afirmativo, ¿cómo debo implementarlo?

¿Fue útil?

Solución

Podrías usar algo como el Cola de tareas distribuidas de apio para descargar procesamiento a otras máquinas. Requiere la configuración de una infraestructura separada, pero permitirá que las tareas se entreguen de las solicitudes web de procesamiento en segundo plano, mientras que el HTTP RepSonse a la solicitud se puede devolver de inmediato.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top