I have a common scenario which involves:
- A sensor collecting information
- A web-server publishing the sensor information
This is simple, however the sensor does not support constants requests, and it may return a “too many requests” response when called directly. The idea to get the sensor information directly in the web-request was not valid from day zero.
I asked for support / guidance and my amazing and smart friends show me the concept of OVER ENGINEERING. Dockers, Compose, Queues, Coordination and more was part of some of the proposals. However, they also show me the most easy and simple way to solve this: Multi-threading.
- Thread 1, where an infinite loop request information from the sensor, and stores the latest value to be shared.
- Thread 2, where a web-server process requests and share the latest sensor information.
Easy ! And after a couple of tests, I manage to create a single file implementing this:
So at this point, you may think: why does El Bruno need this? So, let’s share an image that I’ll use in future posts:
Note: Some very smart people also suggested to implements this using FastAPI instead of Flask, so a future post may include this.