def __init__(self, num_threads=None, queue_size=0): # if no count passed, default to number of CPUs if num_threads is None: num_threads = multiprocessing.cpu_count() self.num_threads = num_threads # create a task queue of queue_size self._job_queue = queue.Queue(queue_size) self._workers = [] # create worker threads for _ in range(num_threads): thread = threading.Thread(target=self._thread_target) thread.daemon = True thread.start() self._workers.append(thread)
def test_state_event(self): ''' test to ensure state.event runner returns correct data ''' q = queue.Queue(maxsize=0) cmd = 'state.event salt/job/*/new count=1' expect = '"minions": ["minion"]' server_thread = threading.Thread(target=self.add_to_queue, args=(q, cmd)) server_thread.setDaemon(True) server_thread.start() while q.empty(): self.run_salt('minion test.ping --static') out = q.get() self.assertIn(expect, str(out)) server_thread.join()
def test_state_event(self): """ test to ensure state.event runner returns correct data """ q = queue.Queue(maxsize=0) cmd = "state.event salt/job/*/new count=1" expect = '"minions": ["minion"]' server_thread = threading.Thread(target=self.add_to_queue, args=(q, cmd)) server_thread.setDaemon(True) server_thread.start() while q.empty(): self.run_salt("minion test.ping --static") out = q.get() assert expect in six.text_type(out) server_thread.join()