Pelayan adalah proyek dimaksudkan untuk menjadi produksi berkualitas murni Python WSGI server dengan kinerja yang sangat diterima & nbsp;. Ia tidak memiliki dependensi kecuali orang-orang yang tinggal di perpustakaan standar Python. Ini berjalan pada CPython di Unix dan Windows di bawah Python 2.6+ dan Python 3.2. Ia juga dikenal untuk berjalan pada PyPy 1.6.0 pada UNIX. Mendukung HTTP / 1.0 dan HTTP / 1.1.
Untuk informasi lebih lanjut, lihat "docs" direktori paket pelayan atau http://docs.pylonsproject.org/projects/waitress/en/latest/.
What baru dalam rilis ini:.
- Fix pelari impor multisegment di beberapa Python 2 revisi (lihat https://github.com/Pylons/waitress/pull/34)
- Untuk kompatibilitas, WSGIServer sekarang alias TcpWSGIServer. Tanda tangan BaseWSGIServer sekarang kompatibel dengan WSGIServer pra-0.8.4.
Apa yang baru dalam versi 0.8.1:
- Permintaan concurrency coklat-tas bug dicegah. Permintaan lambat akan memblokir berikutnya tanggapan permintaan berikutnya sampai respon yang lambat permintaan itu sepenuhnya dihasilkan. Hal ini disebabkan oleh & quot; tugas kunci & quot; dinyatakan sebagai atribut class bukan sebagai contoh atribut pada HTTPChannel. Juga mengambil kesempatan untuk memindahkan lain mengunci bernama & quot; outbuf mengunci & quot; untuk contoh saluran daripada kelas. Lihat https://github.com/Pylons/waitress/pull/1.
Apa yang baru dalam versi 0.8:
- Mendukung protokol WSGI wsgi.file_wrapper per http: / /www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling. Berikut adalah contoh penggunaan:
- import os
- sini = os.path.dirname (os.path.abspath (__ __ berkas))
- def myapp (environ, start_response):
- f = open (os.path.join (di sini, 'myphoto.jpg'), 'rb')
- header = [('Content-Type ",' image / jpeg ')]
- start_response (
- '200 OK',
- header
- kembali environ ['wsgi.file_wrapper'] (f, 32768)
- Tanda tangan dari konstruktor berkas wrapper adalah (filelike_object, block_size). Kedua argumen harus lulus sebagai posisional (tidak keyword) argumen. Hasil menciptakan wrapper file yang harus dikembalikan sebagai app_iter dari aplikasi WSGI.
- Objek lulus sebagai filelike_object untuk pembungkus harus menjadi objek file seperti yang mendukung setidaknya metode read (), dan () metode membaca harus mendukung argumen ukuran petunjuk opsional. Ini harus mendukung mencari () dan memberitahu () metode. Jika tidak, iterasi biasa atas objek filelike menggunakan block_size disediakan digunakan (dan menyalin dilakukan, meniadakan manfaat dari file wrapper). Ini harus mendukung metode close ().
- block_size argumen yang ditentukan ke file wrapper konstruktor akan digunakan hanya ketika filelike_object tidak mendukung mencari dan / atau memberitahu metode. Pelayan perlu menggunakan iterasi yang normal untuk melayani file dalam kasus degenerasi ini (sesuai dengan WSGI spec), dan ukuran blok ini akan digunakan sebagai ukuran iterasi potongan. Argumen block_size adalah opsional; jika tidak lulus, sebuah value``32768`` default digunakan.
- Pelayan akan menetapkan header Content-Length atas nama aplikasi ketika pembungkus berkas dengan objek yang cukup filelike digunakan jika aplikasi tersebut belum menetapkan satu.
- Mesin yang menangani pembungkus file yang sedang tidak melakukan sesuatu yang sangat istimewa menggunakan panggilan sistem mewah (tidak menggunakan sendfile misalnya); menggunakannya saat hanya mencegah sistem dari perlu untuk menyalin data ke buffer sementara untuk mengirimkannya ke klien. Tidak ada menyalin data dilakukan ketika aplikasi WSGI mengembalikan wrapper file yang membungkus benda yang cukup filelike. Ini mungkin melakukan sesuatu yang lebih menarik di masa depan.
Apa yang baru dalam versi 0.6.1:
- Hapus panggilan kinerja menguras untuk pull_trigger di saluran Metode write_soon menambahkan keliru dalam 0,6.
Apa yang baru dalam versi 0.5:
- Fix PATH_INFO encoding / decoding pada Python 3 (sesuai PEP 333, terowongan byte-in-unicode-as-latin-1-setelah-unquoting).
Persyaratan :
- Python
Komentar tidak ditemukan