Da ich gerade intensiv PyLucid auf WSGI umbaue kamen doch so einige Fragen auf, die ich teilweise schon im IRC geklärt hab. Dennoch möchte ich nocht mal alles klarstellen:
Die drei Wichtigsten Objekte in WSGI / Colubrid:
- request - Objekte die Daten vom Client beinhalten (z.B. POST/GET, cookie usw.)
- environ - Environ-Dict (wie bei CGI) zusätzlich WSGI-Objekte/Paremeter
- response - Colubrid's eigenes Objekt um Daten zum Client zurück zu schicken
WSGI - Komponenten:
App - Die eigentliche Applikation, die jeden request vom Client abarbeitet
Middleware - Objekte, die der App. "zuarbeiten/ergänzen" kann:
- Kann Datenstrom (HTML-Code) naträglich verändern (Replacer-Middleware)
- Kann zusätzliche Objekte ans environ packen, die von der App genutzt werden kann.
So wie ich das verstehe arbeitet die App jeden request neu ab, wohingegen die Middleware nur einmal "gestartet" werden müßen (z.B. bei fastCGI), die sind dann für jeden Request verfügbar. Macht z.B. Sinn bei einem Datenbank-Connection-Pool. Dieser erstellt nur beim start der fastCGI Skript die Verbindung und jeder Request kann diese dann nutzten. Erst wenn fastCGI-App beendet wird, muß die DB-Verbindung beendet werden...
Ist das soweit richtig???
WSGI / Colubrid - Begriffsklärung...
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
NUR IN COLUBRID!!!jens hat geschrieben:Die drei Wichtigsten Objekte in WSGI / Colubrid?

Apps müssen auch nicht jedes mal neu gestartet werden. Hängt von der Architektur ab. Sie müssen halt callable sein und einen iterator zurückgeben.
TUFKAB – the user formerly known as blackbird