def test_basicWork(self): """ Verify that an L{TestWork} item can be enqueued and executed. """ # do FindMinValidRevisionWork yield TestWork.schedule(self.storeUnderTest(), 0, 1, 2, 3) work = yield TestWork.all(self.transactionUnderTest()) self.assertEqual(len(work), 1) self.assertEqual(work[0].delay, 3) job = yield JobItem.querysimple(self.transactionUnderTest(), jobID=work[0].jobID) self.assertEqual(len(job), 1) self.assertEqual(job[0].priority, 1) self.assertEqual(job[0].weight, 2) yield self.commit() yield JobItem.waitEmpty(self.storeUnderTest().newTransaction, reactor, 60)
def test_basicWork(self): """ Verify that an L{TestWork} item can be enqueued and executed. """ # do FindMinValidRevisionWork yield TestWork.schedule(self.storeUnderTest(), 0, 1, 2, 3) work = yield TestWork.all(self.transactionUnderTest()) self.assertEqual(len(work), 1) self.assertEqual(work[0].delay, 3) job = yield JobItem.querysimple(self.transactionUnderTest(), jobID=work[0].jobID) self.assertEqual(len(job), 1) self.assertEqual(job[0].priority, 1) self.assertEqual(job[0].weight, 2) yield self.commit() yield JobItem.waitEmpty(self.storeUnderTest().newTransaction, reactor, 60)
def action_testwork(self, j): """ Wait for all schedule queue items to complete. """ try: when = j["when"] except KeyError: when = 0 try: priority = j["priority"] except KeyError: priority = WORK_PRIORITY_HIGH try: weight = j["weight"] except KeyError: weight = WORK_WEIGHT_1 try: delay = j["delay"] except KeyError: delay = 0 try: jobs = j["jobs"] except KeyError: jobs = 1 start_time = time.time() for _ in range(jobs): effective_when = max(when - (time.time() - start_time), 0) yield TestWork.schedule( self._store, effective_when, priority, weight, delay, ) returnValue(self._ok("ok", "Test work scheduled"))
def action_testwork(self, j): """ Wait for all schedule queue items to complete. """ try: when = j["when"] except KeyError: when = 0 try: priority = j["priority"] except KeyError: priority = WORK_PRIORITY_HIGH try: weight = j["weight"] except KeyError: weight = WORK_WEIGHT_1 try: delay = j["delay"] except KeyError: delay = 0 try: jobs = j["jobs"] except KeyError: jobs = 1 for _ in range(jobs): yield TestWork.schedule( self._store, when, priority, weight, delay, ) returnValue(self._ok("ok", "Test work scheduled"))