Skip to content Skip to sidebar Skip to footer

Python Returning Values From Infinite Loop Thread

So for my program I need to check a client on my local network, which has a Flask server running. This Flask server is returning a number that is able to change. Now to retrieve th

Solution 1:

You need a Queue and something listening on the queue

import queue
import threading
import requests
from bs4 import BeautifulSoup

defcheckClient(q):
    whileTrue:
        page = requests.get('http://192.168.1.25/8080')
        soup = BeautifulSoup(page.text, 'html.parser')
        value = soup.find('div', class_='valueDecibel')
        q.put(value)

q = queue.Queue()
t1 = threading.Thread(target=checkClient, name=checkClient, args=(q,))
t1.start()

whileTrue:
    value = q.get()
    print(value)

The Queue is thread safe and allows to pass values back and forth. In your case they are only being sent from the thread to a receiver.

See: https://docs.python.org/3/library/queue.html

Post a Comment for "Python Returning Values From Infinite Loop Thread"