Flask gibt keinen Speicher frei

8

Ich beginne diese Frage mit dem Hinweis, dass ich sehr neu in der Webentwicklung bin.

Nun zum Punkt: Ich habe vor kurzem eine ziemlich kleine Flask -Anwendung erstellt, die Daten lädt und dann Visualisierungen mit bokeh ausgibt. Und als solches wird es ziemlich viele Daten im Speicher (ca. 10-20 MB) gespeichert werden müssen. Dies ist an sich kein echtes Problem, jedoch gibt die Anwendung die Objekte im Speicher nicht frei, nachdem die Ansichtsfunktionen die Anforderungen gesendet haben. Das bedeutet, dass die App nach wenigen Anwendungen den größten Teil des Speichers verbraucht hat.

Meine Frage lautet daher: Wie erzwinge ich Flask , um die benutzten Objekte freizugeben, nachdem die View-Funktionen irgendwelche Anfragen zurückgeschickt haben? Oder gehe ich dieses Problem falsch an? Es könnte erwähnenswert sein, dass ich den eingebauten Server von Flask verwende, da wir immer noch nur Prototypen erstellen. ¨ Danke, Tingis

BEARBEITEN Hier ist eine meiner Ansichtsfunktionen. Was es tut, ist, dass es Daten aus einer Datenbank mit SQLAlchemy lädt und dann einige Zeitreihenmanipulationen durchführt (wie eine Kerneldichteschätzung und Berechnung der kumulativen Rendite) und eine verknüpfte div und script Zeichenkette von bokeh ausgibt. Zahl, die die Variablen sind, die mit _plt enden.

%Vor%

Hilft das?

BEARBEITEN 2 Ich habe die Lösung ausprobiert, die im Folgenden bereitgestellt wurde: Frage , indem nach jedem Aufruf der Plot-Schnittstelle ein gc.collect() hinzugefügt wird, sowie die Funktion

%Vor%

Aber die Erinnerung ist immer noch nicht freigegeben.

    
Tingiskhan 14.01.2016, 16:35
quelle

1 Antwort

0

Ist es möglich, dass Sie einen zirkulären Verweis zwischen get_session und dem Company-Objekt erstellen?

    
Cory Dolphin 12.07.2017 17:23
quelle

Tags und Links