wsgiref tutorial?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Lambda
User
Beiträge: 25
Registriert: Freitag 27. April 2007, 17:11

Montag 14. Mai 2007, 02:59

hi,

ich suche seit geraumer zeit eine art tutorial für das wsgiref modul. leider finde ich nur das was in PEP-0333 steht und das hilft nur bedingt. vorallem wie ich es mögliche mache das ich mehere requests gleichzeitig behandeln kann in threads möchte ich erlernen, aber ich frage mich nur wie?

mfg
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 14. Mai 2007, 07:42

Ich glaube da gibt es leider nichts, außer das PEP... Ein paar Informationen sind im Wiki: [wiki]Tags/Wsgi[/wiki] Aber kein Tutorial...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 14. Mai 2007, 09:22

Lambda hat geschrieben:ich suche seit geraumer zeit eine art tutorial für das wsgiref modul. leider finde ich nur das was in PEP-0333 steht und das hilft nur bedingt. vorallem wie ich es mögliche mache das ich mehere requests gleichzeitig behandeln kann in threads möchte ich erlernen, aber ich frage mich nur wie?
-> http://werkzeug.pocoo.org/documentation/wsgihowto

Wird allerdings schnell Werkzeug spezifisch. Ansonsten PEP333. :)

//EDIT: Hier noch ein Tutorial, das aber ebensoschnell Paste spezifisch wird: http://pythonpaste.org/do-it-yourself-framework.html
TUFKAB – the user formerly known as blackbird
Lambda
User
Beiträge: 25
Registriert: Freitag 27. April 2007, 17:11

Dienstag 15. Mai 2007, 02:49

danke, diese tutorials haben etwas geholfen. bleibt immernoch das problem mit multithreading, da ich gerne mehere requests gleichzeitig bearbeiten möchte, bloß genau dafür finde ich noch weniger als für wsgiref simple_server... gibt es dafür keine beispiele?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 15. Mai 2007, 06:11

Lambda hat geschrieben:danke, diese tutorials haben etwas geholfen. bleibt immernoch das problem mit multithreading, da ich gerne mehere requests gleichzeitig bearbeiten möchte, bloß genau dafür finde ich noch weniger als für wsgiref simple_server... gibt es dafür keine beispiele?
Da brauchst du ein Tutorial für. WSGI Anwendungen sind (wenn du keine globale Variablen verwendest) automatisch multithreadable. Und wsgiref läuft automatisch im Multithreadmodus.
TUFKAB – the user formerly known as blackbird
Lambda
User
Beiträge: 25
Registriert: Freitag 27. April 2007, 17:11

Dienstag 15. Mai 2007, 18:10

achso, okay er läuft in diesem modus, aber muss meine app dann irgendwelche besonderheiten haben das auch multirhread 100% sicher genutzt wird?
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Dienstag 15. Mai 2007, 19:21

Das ist Sache des verwendeten Servers.
Lambda
User
Beiträge: 25
Registriert: Freitag 27. April 2007, 17:11

Mittwoch 16. Mai 2007, 00:59

blackbird hat geschrieben:Da brauchst du ein Tutorial für. WSGI Anwendungen sind (wenn du keine globale Variablen verwendest) automatisch multithreadable. Und wsgiref läuft automatisch im Multithreadmodus.
hmm eigentlich wollte ich schon globale variablen verwenden, das würde desöfteren bei meinem vorhaben performance sparen. wieso kann man keine globale vars verwenden wenn es multithread ist, man kann doch threads locken bis ein anderer thread es gelesen/geschrieben hat?
BlackJack

Mittwoch 16. Mai 2007, 10:54

Klar kannst Du sperren, aber das ist dann nicht mehr *automatisch* thread-safe, Du musst etwas dafür tun.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 16. Mai 2007, 13:56

Lambda hat geschrieben:
blackbird hat geschrieben:Da brauchst du ein Tutorial für. WSGI Anwendungen sind (wenn du keine globale Variablen verwendest) automatisch multithreadable. Und wsgiref läuft automatisch im Multithreadmodus.
hmm eigentlich wollte ich schon globale variablen verwenden, das würde desöfteren bei meinem vorhaben performance sparen. wieso kann man keine globale vars verwenden wenn es multithread ist, man kann doch threads locken bis ein anderer thread es gelesen/geschrieben hat?
Klar. Im Threading modul sind da locks für. Aber das gilt dann nicht mehr als "automatisch".
TUFKAB – the user formerly known as blackbird
Antworten