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:
gitea-actions committed 2026-08-22 18:29:00 +02:00
1 parent e3d56f4c22
commit 33e8582079
4 files changed
+39 -5

No files matched your search

+7 -1
View File
@@ -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)