# HG changeset patch # User Sverre Rabbelier # Date 1240099625 0 # Node ID 3c1e0b9158037d71f8a2645f6d9e224ea4275e25 # Parent 6077018a1e68c96297795cd694ba511fa11184c6 Add a random chance to ignore a job to reduce contention This should probably be solved better (perhaps with a binary exponential backoff). Patch by: Sverre Rabbelier diff -r 6077018a1e68 -r 3c1e0b915803 app/soc/views/models/cron.py --- a/app/soc/views/models/cron.py Sun Apr 19 00:06:46 2009 +0000 +++ b/app/soc/views/models/cron.py Sun Apr 19 00:07:05 2009 +0000 @@ -22,6 +22,8 @@ ] +import random + from django import http from soc.logic import dicts @@ -91,6 +93,8 @@ jobs = job_logic.entityIterator(queryGen, batchSize=10) for job in jobs: + if random.randint(0, 5) > 0: + continue job_key = job.key().id() good = handler.handle(job_key)