I have received word that there are people combing through the PieFed code looking for anything that might be harmful. This is excellent and can only make PieFed better and less harmful. ...
I like FastAPI and PieFed uses it as well as Flask. Doing SSE (which involves holding HTTP connections open for a long time) was not going to work with Flask so that part is written using FastAPI.
Before starting development I did some experiments with Quart, an ASGI port of Flask. It was fine but didn't offer significant performance benefits until there were many many concurrent users, a situation that is still far in the future. Also as a more obscure framework it seemed like a risky bet. And if ASGI becomes absolutely necessary, we can migrate from Flask to Quart relatively easily. There's a good chance that PieFed 2.0 will use Quart.
I have also experimented with gevent as a way to make Flask do async. I got it working but every 5 or 6 hours everything falls over in a heap and needs to be restarted (DB connection leakage). Despite it being unreliable I was able to run it in production long enough to see how it performs and at our current scale it was not any better than what we have now. A bit worse, really.
Also at the same time the latest versions of Python have done away with the GIL that used to ruin threaded performance so that could eventually mean that wsgi might start to use threads well enough to be pretty great. We'll see.
📷 Dzisiaj trochę rowerowania 🚴 po okolicy, ale też sprawdzanie zasięgów #Meshtastic w lasach i na otwartych przestrzeniach. Oraz testy mojej webapki #flask dla #MeshPolesie wizualizującej położenie terminali z GPS dzięki #leaflet i #OpenStreetMap. W sam raz do zabaw z mapowaniem 😉
We're here to answer any questions you have about PieFed's code
I have received word that there are people combing through the PieFed code looking for anything that might be harmful. This is excellent and can only make PieFed better and less harmful. ...