In net/thread_dishes.py the queue.get() method blocks the program. Consider using queue.get_nowait() and catch queue.Empty exception.