MCPcopy Create free account
hub / github.com/bslatkin/effectivepython / Worker

Class Worker

example_code/item_070.py:87–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85import time
86
87class Worker(Thread):
88 def __init__(self, func, in_queue, out_queue):
89 super().__init__()
90 self.func = func
91 self.in_queue = in_queue
92 self.out_queue = out_queue
93 self.polled_count = 0
94 self.work_done = 0
95
96
97 print("Example 6")
98 def run(self):
99 while True:
100 self.polled_count += 1
101 try:
102 item = self.in_queue.get()
103 except IndexError:
104 time.sleep(0.01) # No work to do
105 except AttributeError:
106 # The magic exit signal to make this easy to show in
107 # example code, but don't use this in practice.
108 return
109 else:
110 result = self.func(item)
111 self.out_queue.put(result)
112 self.work_done += 1
113
114
115print("Example 7")

Callers 1

item_070.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected