Domanda

Ho un semplice servizio che fa approssimativamente quanto segue:

  1. Un client HTTP si collega al server
  2. Il server scrive la sessione del client e il timestamp nel database e nella maggior parte dei casi restituisce una risposta vuota

(I casi in cui svolge un lavoro reale e restituisce dati effettivi sono irrilevanti per questa domanda)

Per restituire questa risposta il prima possibile, vorrei scrivere le informazioni a Memcache nel corpo del gestore delle richieste (perché Memcache è veloce) e di generare un thread separato in cui un'altra funzione usando SQLalchemy lo scriverà al persistente Conservazione. In questo modo, sarò in grado di tornare immediatamente dopo aver scritto a Memcache e aver generato un thread, e il gestore delle richieste non dovrà attendere fino a quando SQLalchemy non risparmierà le informazioni nel database.

Questo ha senso? Se sì, come dovrei implementarlo?

È stato utile?

Soluzione

Potresti usare qualcosa di simile al Coda di attività distribuita di sedano per scaricare l'elaborazione su altre macchine. Richiede la configurazione di un'infrastruttura separata, ma consentirà di consegnare le attività dalle richieste Web per l'elaborazione in background, mentre l'HTTP Repsonse alla richiesta può essere restituita immediatamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top