UWSGI + Flasche + boto – Fadensicherheit

Sagen Sie, ich habe eine Flaschenanwendung, die von uWSGI mit mehreren Prozessen bedient wird, wie:

uwsgi --socket 127.0.0.1:3031 --file flaskapp.py --callable app --processes 4 

Und meine Flasche App ist so organisiert:

 /flaskapp app.py /db __init__.py somefile.py somefile2.py ... 

Und ich benutze boto, um mit DynamoDB zu verbinden. Die Datei __init__.py ist leer und jede Datei somefilexxx.py beginnt so etwas wie somefilexxx.py :

 db = boto.connect_dynamodb() table = db.get_table('table') def do_stuff_with_table(): 

Ich benutze keine Threads in der App, und ich glaube nicht, dass uWSGI Threads verwendet, es sei denn, ich explizit aktivieren sie mit --threads . Ist das Setup sinnvoll? Gibt es irgendwelche Threading-Probleme, die ich mir mit Urllib Sorgen machen muss (Sie können vermuten, dass ich weniger als nichts über Threads weiß …)?

Alternativ würde es sinnvoller sein, connect_dynamodb() in der Datei __init__.py und nur die Tabellen in den Dateien somefile.py ?

One Solution collect form web for “UWSGI + Flasche + boto – Fadensicherheit”

Da hast du keine Threads in uWSGI aktiviert (siehe: --enable-threads , --threads ) gibt es hier kein Python-Threading (in Boto oder anders).

Ich würde empfehlen, --lazy , die Ihre App wird in jedem Arbeiter Post-Gabel geladen werden. Dann können Sie sich einfach auf dieses Verhalten verlassen, um sicherzustellen, dass jeder Arbeiter die entsprechenden Verbindungen / Pools / etc hat. Verfügbar ohne die Anliegen des gemeinsamen Staates.

  • Keine Ausnahmeprotokollausgabe in excepiton.log-Datei im Pyramidenprojekt mit Plugin pyramid_exclog unter uwsgi
  • Ungültige Transaktion bleibt über Anfragen bestehen
  • Unterschied zwischen uwsgi Modul in nginx und uwsgi Server
  • Mysteriöse Ausgabe mit Django + uWSGI + E-Mail senden
  • Wie setze ich Unterverzeichnis in nginx mit Django ein
  • Was ist der Vorteil, mehrere Threads pro UWSGI-Prozess zu laufen?
  • ImportError: Kein Modul namens django.core.wsgi für uwsgi
  • Kompilieren fehlgeschlagen mit Fehlercode 1 in / tmp / pip_build_root / uwsgi
  • Nginx + uwsgi + python3 Konfiguration funktioniert nicht
  • Wie man anmutige Herunterfahren in Python uwsgi Anwendung zu behandeln
  • Kann die Konfiguration von uwsgi nicht laden
  • Python ist die beste Programmiersprache der Welt.