Revision 89e2b4d2
b/daemons/ganeti-masterd | ||
---|---|---|
101 | 101 |
|
102 | 102 |
def setup_queue(self): |
103 | 103 |
self.context = GanetiContext() |
104 |
self.request_workers = workerpool.WorkerPool(CLIENT_REQUEST_WORKERS, |
|
104 |
self.request_workers = workerpool.WorkerPool("ClientReq", |
|
105 |
CLIENT_REQUEST_WORKERS, |
|
105 | 106 |
ClientRequestWorker) |
106 | 107 |
|
107 | 108 |
def process_request(self, request, client_address): |
b/lib/http/client.py | ||
---|---|---|
342 | 342 |
|
343 | 343 |
class HttpClientWorkerPool(workerpool.WorkerPool): |
344 | 344 |
def __init__(self, manager): |
345 |
workerpool.WorkerPool.__init__(self, HTTP_CLIENT_THREADS, |
|
345 |
workerpool.WorkerPool.__init__(self, "HttpClient", |
|
346 |
HTTP_CLIENT_THREADS, |
|
346 | 347 |
HttpClientWorker) |
347 | 348 |
self.manager = manager |
348 | 349 |
|
b/lib/jqueue.py | ||
---|---|---|
536 | 536 |
|
537 | 537 |
""" |
538 | 538 |
def __init__(self, queue): |
539 |
super(_JobQueueWorkerPool, self).__init__(JOBQUEUE_THREADS, |
|
539 |
super(_JobQueueWorkerPool, self).__init__("JobQueue", |
|
540 |
JOBQUEUE_THREADS, |
|
540 | 541 |
_JobQueueWorker) |
541 | 542 |
self.queue = queue |
542 | 543 |
|
b/lib/workerpool.py | ||
---|---|---|
153 | 153 |
guaranteed to finish in the same order. |
154 | 154 |
|
155 | 155 |
""" |
156 |
def __init__(self, num_workers, worker_class): |
|
156 |
def __init__(self, name, num_workers, worker_class):
|
|
157 | 157 |
"""Constructor for worker pool. |
158 | 158 |
|
159 | 159 |
@param num_workers: number of workers to be started |
... | ... | |
168 | 168 |
self._pool_to_worker = threading.Condition(self._lock) |
169 | 169 |
self._worker_to_pool = threading.Condition(self._lock) |
170 | 170 |
self._worker_class = worker_class |
171 |
self._name = name |
|
171 | 172 |
self._last_worker_id = 0 |
172 | 173 |
self._workers = [] |
173 | 174 |
self._quiescing = False |
... | ... | |
253 | 254 |
|
254 | 255 |
""" |
255 | 256 |
self._last_worker_id += 1 |
256 |
return self._last_worker_id |
|
257 |
|
|
258 |
return "%s%d" % (self._name, self._last_worker_id) |
|
257 | 259 |
|
258 | 260 |
def _ResizeUnlocked(self, num_workers): |
259 | 261 |
"""Changes the number of workers. |
b/test/ganeti.workerpool_unittest.py | ||
---|---|---|
62 | 62 |
"""Workerpool tests""" |
63 | 63 |
|
64 | 64 |
def testDummy(self): |
65 |
wp = workerpool.WorkerPool(3, DummyBaseWorker) |
|
65 |
wp = workerpool.WorkerPool("Test", 3, DummyBaseWorker)
|
|
66 | 66 |
try: |
67 | 67 |
self._CheckWorkerCount(wp, 3) |
68 | 68 |
|
... | ... | |
75 | 75 |
self._CheckWorkerCount(wp, 0) |
76 | 76 |
|
77 | 77 |
def testNoTasks(self): |
78 |
wp = workerpool.WorkerPool(3, DummyBaseWorker) |
|
78 |
wp = workerpool.WorkerPool("Test", 3, DummyBaseWorker)
|
|
79 | 79 |
try: |
80 | 80 |
self._CheckWorkerCount(wp, 3) |
81 | 81 |
self._CheckNoTasks(wp) |
... | ... | |
84 | 84 |
self._CheckWorkerCount(wp, 0) |
85 | 85 |
|
86 | 86 |
def testNoTasksQuiesce(self): |
87 |
wp = workerpool.WorkerPool(3, DummyBaseWorker) |
|
87 |
wp = workerpool.WorkerPool("Test", 3, DummyBaseWorker)
|
|
88 | 88 |
try: |
89 | 89 |
self._CheckWorkerCount(wp, 3) |
90 | 90 |
self._CheckNoTasks(wp) |
... | ... | |
97 | 97 |
def testChecksum(self): |
98 | 98 |
# Tests whether all tasks are run and, since we're only using a single |
99 | 99 |
# thread, whether everything is started in order. |
100 |
wp = workerpool.WorkerPool(1, ChecksumBaseWorker) |
|
100 |
wp = workerpool.WorkerPool("Test", 1, ChecksumBaseWorker)
|
|
101 | 101 |
try: |
102 | 102 |
self._CheckWorkerCount(wp, 1) |
103 | 103 |
|
Also available in: Unified diff