title: How can Celery distribute users' tasks in a fair way?
body: <p>The task I'm implementing is related to scrape some basic info about a URL, such as title, description and OGP metadata. If User A requests 200 URLs to scrape, and after User B requests for 10 URLs, User B may wait much more than s/he expect.</p>
  
  <p>What I'm trying to achieve is to rate limit a specific task on a per user basis or, at least, to be fair between users.</p>
  
  <p>The Celery implementation for rate limiting is too broad, since <a href="https://github.com/celery/celery/blob/4d71c3c9e42ecdba23feafdec2434a33c27b9cb9/celery/app/control.py#L184" rel="nofollow noreferrer">it uses the task name only</a></p>
  
  <p>Do you have any suggestion to achieve this kind of fairness?</p>
  
  <p><strong>Related</strong> <a href="https://stackoverflow.com/questions/4857464/celery-django-rate-limiting">Celery (Django) Rate limiting</a></p>