Ich habe eine glänzende Anwendung entwickelt. Wenn es gestartet wird, lädt es EINMAL einige Datentabellen. Etwa 4 GB Datentabellen. Anschließend können Benutzer, die eine Verbindung zur App herstellen, die Benutzeroberfläche verwenden und mit diesen Datentabellen spielen.Django-Anwendung mit einem großen Panda-Objekt, das für alle Anfragen freigegeben wurde?
Diese Anwendung ist nett, hat aber einige Einschränkungen. Deshalb suche ich nach einer anderen Lösung.
Meine Idee ist es, Pandas und Django zusammenarbeiten zu lassen. Auf diese Weise konnte ich gleichzeitig eine Schnittstelle und eine RESTful-API entwickeln. Aber was ich brauche, ist, dass alle Anfragen, die nach Django kommen, Pandas-Databases verwenden können, die einmal geladen wurden. Stellen Sie sich vor, wenn für jede Anfrage 4 GB Speicher geladen werden müssten ... Es wäre schrecklich.
Ich habe überall gesucht, konnte aber keinen Weg finden, dies zu tun. Ich habe diese Frage gefunden: https://stackoverflow.com/questions/28661255/pandas-sharing-same-dataframe-across-the-request Aber es hat keine Antworten.
Warum muss ich die Daten im RAM haben? Weil ich Leistung brauche, um die gewünschten Ergebnisse schnell zu rendern. Ich kann MariaDB nicht bitten, diese Daten zu berechnen und zu pflegen, zum Beispiel, weil es einige Berechnungen beinhaltet, die nur R oder ein spezialisiertes Paket in Python oder anderen Sprachen machen können.
Hallo dukebody, Danke für Ihre Antwort! Es sieht gut aus. Denken Sie, dass es möglich ist, die Anzahl der WSGI-Mitarbeiter zu begrenzen? Und bereiten Sie alle mit den Daten vor? Es wäre perfekt ! Einen schönen Tag, Jerome – FrelonQuai
Sie können die Anzahl der WSGI-Mitarbeiter leicht begrenzen. Zum Beispiel in Gunicorn benutzen 'gunicorn wsgi_app_object --worker'. –
dukebody
Danke für deine Antwort dukebody! Ich denke, dass es das Ding tun kann! – FrelonQuai