Teilen Sie ein Numy-Array in Gunicorn-Prozessen

9

Ich habe ein großes Nummernfeld, das in redis gespeichert ist. Dieses Array dient als Index. Ich möchte gefiltertes Ergebnis über http von einer Flask-App, die auf Gunicorn läuft, bedienen und ich möchte, dass alle von Gunicorn hervorgebrachten Arbeiter Zugang zu diesem numpligen Array haben. Ich möchte nicht jedes Mal zu redisistieren und das gesamte Array im Speicher deserialisieren, sondern beim Start möchte ich Code ausführen, der das tut und jeder gegabelte Arbeiter von gunicorn bekommt nur eine Kopie dieses Arrays. Das Problem ist, ich kann keine Beispiele finden, wie man Gunicorns Server Hooks benutzt: Ссылка um das zu erreichen. Mai Server-Haken ist nicht der richtige Weg, es zu tun, hat jemand anderes etwas ähnliches getan?

    
user1639848 03.05.2013, 19:22
quelle

1 Antwort

4

Erstellen Sie eine Instanz eines Listener -Servers und lassen Sie Ihre gunicorn-Kinder mit diesem Prozess verbinden, um alle Daten, die sie als Clients benötigen, abzurufen. Auf diese Weise können die Prozesse die Informationen nach Bedarf ändern und vom Hauptprozess anfordern, anstatt zu Redis zu gehen, um den gesamten Datensatz neu zu laden.

Weitere Informationen finden Sie hier: Multiprocessing - 16.6.2.10. Hörer und Kunden .

    
leon 13.08.2013 19:37
quelle

Tags und Links