Mod_wsgi Umgebung erkennen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Gibt es einen Weg, zu erkennen, ob der Python Interpreter von einer mod_wsgi Umgebung aus gestartet wurde? Ich möchte in Bottle gerne das starten eines HTTP Servers (bottle.run()) verhindern, sobald sich das Script in einer mod_wsgi Umgebung befindet, da das ein beliebter Fehler von mod_wsgi/Bottle Anfängern ist. Ich habe aber keine Ahnung, wie.
Bottle: Micro Web Framework + Development Blog
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Nun ich würd zum Testen ein simples script schreiben, dass das environ ausgibt, dort laufen ja einige wsgi variablen rum… Vlt findest du dort einen Unterschied.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Ich hab weder Apache noch mod_wsgi installiert (nutze lighttpd) und dachte, einer von euch wüsste das vielleicht und ich könnte mir Apache sparen.

Das environ-Dict von WSGI enthält zwar einige mod_wsgi spezifische Variablen (mod_wsgi.version z.B.) aber das ist eine Stufe zu spät. Ich muss vor dem ersten Request bereits wissen, ob ich in einer mod_wsgi Umgebung bin oder nicht. os.environ wäre z.B. eine gute quelle, wenn Apache oder mod_wsgi da was anständiges rein schreibt.
Bottle: Micro Web Framework + Development Blog
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Nunja, ich würd das ganze einfach gut dokumentieren und dann wäre das Problem für mich geklärt ;)
lunar

Solche Variablen solltest Du der Dokumentation von Apache und mod_wsgi entnehmen können. Auf undokumentierte Variablen solltest Du Dich ja nicht verlassen, niemand garantiert schließlich für deren Existenz.

Ich persönlich aber halte nicht viel, so "magisch" vorzugehen.
Antworten