Obsluhovat to waitressem, ne vývojovým serverem Flasku
Flask pod pěkně naformátovanou úvodní hlášku vysypal červené varování, že tohle není produkční server. Waitress je čistě pythonní, takže ho PyInstaller zabalí bez řečí, a osm vláken pobere telefony u stolu i tabuli, která se doptává každé dvě vteřiny. Cestou se ukázalo, že hláška se nikdy nedostala do přesměrovaného výstupu: mimo konzoli drží Python výstup v bloku a pouští ho, až program skončí — jenže server neskončí. Zkouška binárky u Gitey si logovala do souboru a pak ho vypisovala, takže celou dobu tiskla prázdno. Řeší to řádkové bufferování v console.utf8(), kam to patří vedle té kódové stránky.
This commit is contained in:
1 parent
e3d56f4c22
commit
33e8582079
4 files changed
+39
-5
No files matched your search
@@ -17,6 +17,7 @@ import qrcode
|
||||
from flask import (Flask, abort, g, redirect, render_template, request,
|
||||
url_for)
|
||||
from markupsafe import Markup, escape
|
||||
from waitress import serve
|
||||
|
||||
import console
|
||||
import net
|
||||
@@ -353,4 +354,9 @@ if __name__ == "__main__":
|
||||
sys.exit(0)
|
||||
|
||||
announce()
|
||||
app.run(host="0.0.0.0", port=PORT, threaded=True)
|
||||
|
||||
# Ne vestavěný server Flasku: ten pod úvodní hlášku vysype červené
|
||||
# varování, že takhle se to nemá, a má pravdu. Waitress je čistě
|
||||
# pythonní, takže se zabalí do binárky bez řečí, a osm vláken pobere
|
||||
# telefony u stolu i tabuli, která se doptává každé dvě vteřiny.
|
||||
serve(app, host="0.0.0.0", port=PORT, threads=8)
|
||||
Reference in new issue
Block a user