def test_pop_and_delete(self): for i in range(N): j = JobQueue.pop() self.assertIsInstance(j, Job) JobQueue.delete(j) self.assertEqual(JobQueue.length(), 0) return
# Split ads into slot and job ClassAds. try: (job_ad, slot_ad) = ads.split(SEPARATOR, 1) except: logutils.logger.critical('Unable to separate slot and job ads: %s' % (ads)) sys.exit(2) logutils.logger.debug('Worker slot ClassAd %s' % (slot_ad)) logutils.logger.debug('Job ClassAd %s' % (job_ad)) logutils.logger.debug('Job was %sed' % (response)) # If the job was accepted, remove it from the queue. Otherwise re-insert it. job = Job.Job(job_ad) if(response.lower() == 'accept'): logutils.logger.debug('Deleting the job from the queue.') try: JobQueue.delete(job) except Exception, e: logutils.logger.critical('Exception in dequeuing job: %s' % (e)) sys.exit(3) else: logutils.logger.debug('Re-inserting the job in the queue.') try: JobQueue.reinsert(job) except Exception, e: logutils.logger.critical('Exception in enqueuing job: %s' % (e)) sys.exit(4) logutils.logger.debug('reply_fetch.py: quitting') sys.exit(0)