python get() with safe timeout code example

Example 1: queue python

from queue import Queue

q = Queue()

q.size() # returns the current lenght of queue
q.empty() # returns True if empty, False otherwise
q.put(item) 
q.get()

Example 2: python threading queue

import threading, queue

q = queue.Queue()

def worker():
    while True:
        item = q.get()
        print(f'Working on {item}')
        print(f'Finished {item}')
        q.task_done()

# turn-on the worker thread
threading.Thread(target=worker, daemon=True).start()

# send thirty task requests to the worker
for item in range(30):
    q.put(item)
print('All task requests sent\n', end='')

# block until all tasks are done
q.join()
print('All work completed')