|  | @@ -125,6 +125,7 @@ class WorkController(object):
 | 
	
		
			
				|  |  |              task_soft_time_limit=conf.CELERYD_TASK_SOFT_TIME_LIMIT,
 | 
	
		
			
				|  |  |              max_tasks_per_child=conf.CELERYD_MAX_TASKS_PER_CHILD,
 | 
	
		
			
				|  |  |              pool_putlocks=conf.CELERYD_POOL_PUTLOCKS,
 | 
	
		
			
				|  |  | +            disable_rate_limits=conf.DISABLE_RATE_LIMITS,
 | 
	
		
			
				|  |  |              db=conf.CELERYD_STATE_DB):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Options
 | 
	
	
		
			
				|  | @@ -150,8 +151,9 @@ class WorkController(object):
 | 
	
		
			
				|  |  |              Finalize(persistence, persistence.save, exitpriority=5)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Queues
 | 
	
		
			
				|  |  | -        if conf.DISABLE_RATE_LIMITS:
 | 
	
		
			
				|  |  | +        if disable_rate_limits:
 | 
	
		
			
				|  |  |              self.ready_queue = FastQueue()
 | 
	
		
			
				|  |  | +            self.ready_queue.put = self.process_task
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              self.ready_queue = TaskBucket(task_registry=registry.tasks)
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -166,9 +168,12 @@ class WorkController(object):
 | 
	
		
			
				|  |  |                                  timeout=self.task_time_limit,
 | 
	
		
			
				|  |  |                                  soft_timeout=self.task_soft_time_limit,
 | 
	
		
			
				|  |  |                                  putlocks=self.pool_putlocks)
 | 
	
		
			
				|  |  | -        self.mediator = instantiate(mediator_cls, self.ready_queue,
 | 
	
		
			
				|  |  | -                                    callback=self.process_task,
 | 
	
		
			
				|  |  | -                                    logger=self.logger)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        self.mediator = None
 | 
	
		
			
				|  |  | +        if not disable_rate_limits:
 | 
	
		
			
				|  |  | +            self.mediator = instantiate(mediator_cls, self.ready_queue,
 | 
	
		
			
				|  |  | +                                        callback=self.process_task,
 | 
	
		
			
				|  |  | +                                        logger=self.logger)
 | 
	
		
			
				|  |  |          self.scheduler = instantiate(eta_scheduler_cls,
 | 
	
		
			
				|  |  |                                 precision=conf.CELERYD_ETA_SCHEDULER_PRECISION,
 | 
	
		
			
				|  |  |                                 on_error=self.on_timer_error,
 |