class TestMultiProcessing(unittest.TestCase): def setUp(self): self.backend = Concurrency('multiprocessing') def test_00_instanciate(self): self.assertIsInstance(self.backend, ConcurrencyInterface) def test_01_worker(self): def runner(q): q.put(1) workerName = 'worker' queue = self.backend.createQueue() worker = self.backend.createBasicWorker(workerName, runner, (queue, )) worker.start() self.assertEqual(worker.getName(), workerName) worker.join() self.assertEqual(queue.get(), 1)
class TestMultiProcessing(unittest.TestCase): def setUp(self): self.backend = Concurrency('multiprocessing') def test_00_instanciate(self): self.assertIsInstance(self.backend, ConcurrencyInterface) def test_01_worker(self): def runner(q): q.put(1) workerName = 'worker' queue = self.backend.createQueue() worker = self.backend.createBasicWorker(workerName, runner, (queue,)) worker.start() self.assertEqual(worker.getName(), workerName) worker.join() self.assertEqual(queue.get(), 1)
# import sys import time import imapfw from imapfw.concurrency.concurrency import Concurrency from imapfw.managers.manager import Manager from imapfw.ui.tty import TTY from imapfw.managers.trigger import Trigger c = Concurrency('multiprocessing') q = c.createQueue() q.get_nowait() ui = TTY(c.createLock()) def output(args): print(args) sys.stdout.flush() def runner(emitter): output('runner started') output('initA') emitter.initA()