import threading import time def name(): return threading.currentThread().getName() def worker(q): while True: part = q.get() if part is None: break do_work(part) time.sleep(0.05) q.task_done() def do_work(part: dict): if part['type'] == "print": action_print(part['payload']) def action_print(text: str): print('{0} - {1}'.format(name(), text))