
Hi !
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.
Happy coding!
Greetings
El Bruno
More posts in my blog ElBruno.com.
More info in https://beacons.ai/elbruno
Resources
- Flask, Welcome to Flask
- Python – Multithreaded Programming
I miss the html code by example thread
LikeLiked by 1 person
What do you mean with HTML code ? there is no html code here, just simple http requests π
LikeLiked by 1 person
Ik got a syntax error this cde
pi@raspberrypi:~/test $ sudo python threading.py
File “threading.py”, line 20
print(str(f”{current_time} – data {iCounter}”))
^
SyntaxError: invalid syntax
LikeLiked by 1 person
Are you using Python 3?
LikeLiked by 1 person