Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
# 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)