title: Remove a revoked Celery task
body: <p>According to the <a href="http://celery.readthedocs.io/en/latest/userguide/workers.html#worker-persistent-revokes" rel="nofollow noreferrer">docs</a> on <code>task.revoke()</code>:</p>
  
  <blockquote>
    <p>All worker nodes keeps a memory of revoked task ids, either in-memory or persistent on disk</p>
  </blockquote>
  
  <p>And</p>
  
  <blockquote>
    <p>Revoking tasks works by sending a broadcast message to all the workers, the workers then keep a list of revoked tasks in memory. When a worker starts up it will synchronize revoked tasks with other workers in the cluster.</p>
  </blockquote>
  
  <p>This sounds like tasks are still around after you've revoked them. I don't understand why there's not a clear way to revoke the task and remove it from the queue.</p>
  
  <p>The docs seem to imply you need to keep a list of revoked tasks indefinitely to ensure new workers don't pick them up in some circumstances.</p>
  
  <p>I'm also aware that there's a function to completely purge the task queue, but that's not what I'm looking for.</p>
  
  <p><strong>Is there a way to revoke a task and purge it (and only it) from the task queue in Celery?</strong></p>