Die Kellnerin ist Projekt soll eine Produktionsqualität pure-Python WSGI Server mit sehr akzeptable Leistung & nbsp sein;. Es hat keine Abhängigkeiten, außer diejenigen, die in der Python-Standardbibliothek zu leben. Es läuft auf CPython auf Unix und Windows unter Python 2.6+ und Python 3.2. Es ist auch bekannt, um auf PyPy 1.6.0 unter UNIX laufen. Sie unterstützt HTTP / 1.0 und HTTP / 1.1.
Weitere Informationen finden Sie im "docs" Verzeichnis der Kellnerin Paket oder http://docs.pylonsproject.org/projects/waitress/en/latest/.
What ist neu in dieser Pressemitteilung:.
- Fix Läufer Multisegment-Importe in einigen Python 2 Versionen (siehe https://github.com/Pylons/waitress/pull/34)
- Für die Kompatibilität ist WSGIServer jetzt ein Alias für TcpWSGIServer. Die Unterzeichnung BaseWSGIServer ist nun kompatibel mit WSGIServer pre-0.8.4.
Was ist neu in Version 0.8.1:
- Ein braun-bag Bug verhindert Anfrage Parallelität. Eine langsame Anfrage würde blockieren nachfolgende die Antworten der nachfolgende Anfragen, bis die langsame Anfrage Antwort vollständig erstellt wurde. Dies war auf einen & quot; Aufgabe Schloss & quot; als ein Klassenattribut nicht als Instanz Attribut Httpchannel erklärt. Auch nutzten die Gelegenheit, sich zu bewegen ein weiteres Schloss namens & quot; OUTBUF sperren & quot; auf den Kanal B. nicht die Klasse. Siehe https://github.com/Pylons/waitress/pull/1.
Was ist neu in Version 0.8:
- Unterstützung der WSGI wsgi.file_wrapper Protokoll gemäß http: / /www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling. Hier ist ein Anwendungsbeispiel:
- import os
- Sie hier = os.path.dirname (os.path.abspath (__ __-Datei))
- def myapp (environ, start_response):
- f = open (os.path.join (hier 'meinfoto.jpg'), 'rb')
- headers = [("Content-Type", "image / jpeg")]
- start_response (
- '200 OK',
- Header
- Rück Umwelt ['wsgi.file_wrapper'] (f, 32768)
- Die Signatur der Datei-Wrapper-Konstruktor (filelike_object, block_size). Beide Argumente müssen als Positions (nicht Schlüsselwort) Argumente übergeben werden. Das Ergebnis der Erstellung einer Datei-Wrapper sollte als app_iter von einem WSGI Anwendung zurückgegeben werden.
- Die als filelike_object geleitet, um den Wrapper muss eine Datei-ähnliches Objekt, das mindestens die read () Methode unterstützt Objekt sein, und die read () Methode muss eine optionale Größe Hinweis Argument unterstützt. Es sollte unterstützt die seek () und sage () Methoden. Wenn dies nicht der Fall, wird der normale Iteration über die filelike Objekt mit dem mitgelieferten block_size verwendet (und Kopiervorgang abgeschlossen ist, negiert einen Nutzen der Datei-Wrapper). Es sollte eine Methode close () zu unterstützen.
- Die angegebene block_size Argument für den Wrapper für Dateien Konstruktor wird nur verwendet, wenn die filelike_object nicht unterstützt zu suchen und / oder sagen Methoden. Kellnerin muss normale Iteration zu verwenden, um die Datei in diesem degenerierten Fall dienen (gemäß WSGI spec), und das Blockgröße wird als Iteration Blockgröße verwendet werden. Die block_size Argument ist optional; wenn er nicht übergeben wird, wird ein Standard value``32768`` verwendet.
- Waitress einen Content-Length-Header auf den Namen einer Applikation gesetzt, wenn eine Datei-Wrapper mit einem ausreichend filelike Objekt wird verwendet, wenn die Anwendung nicht bereits eins gesetzt.
- Die Maschinen, die eine Datei-Wrapper verarbeitet derzeit keine Verwendung von Phantasie Systemaufrufe (es muss nicht sendfile verwenden, zum Beispiel) nichts besonderes zu tun; Verwendung derzeit nur verhindert, dass das System aus, um Daten in einen Puffer, um ihn an den Client zu kopieren zu müssen. Kein Kopieren von Daten erfolgt, wenn ein WSGI App gibt einen Wrapper für Dateien, die eine ausreichend filelike Objekt umschließt. Es kann etwas schicker auch in Zukunft tun.
Was ist neu in Version 0.6.1:
- Entfernen leistungszehrenden Aufruf in der pull_trigger Kanals write_soon Verfahren hinzugefügt irrtümlich in 0.6.
Was ist neu in Version 0.5:
- Fix PATH_INFO Encoding / Decoding auf Python 3 (nach PEP 333, Tunnel Byte-in-Unicode-as-Latin-1-after-unquoting).
Anforderungen :
- Python
Kommentare nicht gefunden