Frage

Ich habe einen einfachen Service, der ungefähr Folgendes leistet:

  1. Ein HTTP -Client stellt eine Verbindung zum Server her
  2. Der Server schreibt die Sitzung des Clients und den Zeitstempel in die Datenbank und gibt in den meisten Fällen nur eine leere Antwort zurück

(Die Fälle, in denen es reale Arbeit leistet und tatsächliche Daten zurückgeben, sind für diese Frage irrelevant)

Um diese Antwort so schnell wie möglich zurückzugeben, möchte ich die Informationen in Memcache in den Körper des Anforderungshandlers schreiben (weil Memcache schnell ist) und einen separaten Thread zu laichen, bei dem eine andere Funktion mit SQLAlchemy sie an die persistent schreiben wird Lagerung. Auf diese Weise kann ich sofort nach dem Schreiben an Memcache zurückkehren und einen Thread hervorbringen, und der Anforderungshandler muss nicht warten, bis SQLalchemy die Informationen in der Datenbank speichert.

Macht das Sinn? Wenn ja, wie soll ich es implementieren?

War es hilfreich?

Lösung

Sie könnten so etwas wie das verwenden Sellerie verteilte Aufgabenwarteschlange Um die Verarbeitung auf andere Maschinen abzuleiten. Es erfordert die Einrichtung einer separaten Infrastruktur, ermöglicht jedoch, dass Aufgaben von Webanforderungen für die Verarbeitung im Hintergrund übergeben werden, während die HTTP -Repsonse zur Anfrage sofort zurückgegeben werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top