app/soc/views/models/cron.py
changeset 2246 c29272f640b0
parent 2232 3c1e0b915803
child 2362 f211b75922ac
--- a/app/soc/views/models/cron.py	Sun Apr 19 17:42:27 2009 +0000
+++ b/app/soc/views/models/cron.py	Sun Apr 19 17:42:44 2009 +0000
@@ -92,15 +92,23 @@
       queryGen = lambda: job_logic.getQueryForFields(filter=filter)
       jobs = job_logic.entityIterator(queryGen, batchSize=10)
 
-      for job in jobs:
-        if random.randint(0, 5) > 0:
+      good = True
+      retry_jobs = []
+
+      for job in handler.iterate(jobs, retry_jobs):
+        if random.randint(0, 3) > 0:
+          retry_jobs.append(job)
           continue
+
         job_key = job.key().id()
-        good = handler.handle(job_key)
+        status = handler.handle(job_key)
 
-        if not good:
+        if status is handler.OUT_OF_TIME:
           break
 
+        if status is handler.ERRORED:
+          retry_jobs.append(job)
+
         jobs_completed += 1
 
     response = 'Completed %d jobs in %d priority groups.' % (