|  | @@ -259,8 +259,8 @@ Why won't my periodic task run?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _faq-purge-the-queue:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -How do I discard all waiting tasks?
 | 
	
		
			
				|  |  | -------------------------------------
 | 
	
		
			
				|  |  | +How do I purge all waiting tasks?
 | 
	
		
			
				|  |  | +---------------------------------
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  **Answer:** You can use celeryctl to purge all configured task queues::
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -268,8 +268,8 @@ How do I discard all waiting tasks?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  or programatically::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        >>> from celery.task.control import discard_all
 | 
	
		
			
				|  |  | -        >>> discard_all()
 | 
	
		
			
				|  |  | +        >>> from celery import current_app as celery
 | 
	
		
			
				|  |  | +        >>> celery.control.purge()
 | 
	
		
			
				|  |  |          1753
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  If you only want to purge messages from a specific queue
 | 
	
	
		
			
				|  | @@ -284,8 +284,8 @@ You can also start :mod:`~celery.bin.celeryd` with the
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _faq-messages-left-after-purge:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -I've discarded messages, but there are still messages left in the queue?
 | 
	
		
			
				|  |  | -------------------------------------------------------------------------
 | 
	
		
			
				|  |  | +I've purged messages, but there are still messages left in the queue?
 | 
	
		
			
				|  |  | +---------------------------------------------------------------------
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  **Answer:** Tasks are acknowledged (removed from the queue) as soon
 | 
	
		
			
				|  |  |  as they are actually executed. After the worker has received a task, it will
 | 
	
	
		
			
				|  | @@ -295,8 +295,8 @@ held on to by the worker until it closes the connection to the broker (AMQP
 | 
	
		
			
				|  |  |  server). When that connection is closed (e.g. because the worker was stopped)
 | 
	
		
			
				|  |  |  the tasks will be re-sent by the broker to the next available worker (or the
 | 
	
		
			
				|  |  |  same worker when it has been restarted), so to properly purge the queue of
 | 
	
		
			
				|  |  | -waiting tasks you have to stop all the workers, and then discard the tasks
 | 
	
		
			
				|  |  | -using :func:`~celery.task.control.discard_all`.
 | 
	
		
			
				|  |  | +waiting tasks you have to stop all the workers, and then purge the tasks
 | 
	
		
			
				|  |  | +using :func:`celery.control.purge`.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _faq-results:
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -463,14 +463,14 @@ Why do workers delete tasks from the queue if they are unable to process them?
 | 
	
		
			
				|  |  |  ------------------------------------------------------------------------------
 | 
	
		
			
				|  |  |  **Answer**:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -The worker discards unknown tasks, messages with encoding errors and messages
 | 
	
		
			
				|  |  | +The worker rejects unknown tasks, messages with encoding errors and messages
 | 
	
		
			
				|  |  |  that doesn't contain the proper fields (as per the task message protocol).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -If it did not ack (delete) them, they would be redelivered again and again
 | 
	
		
			
				|  |  | +If it did not reject them they could be redelivered again and again,
 | 
	
		
			
				|  |  |  causing a loop.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -There has been talk about moving these messages to a dead-letter queue,
 | 
	
		
			
				|  |  | -but that has not yet been implemented.
 | 
	
		
			
				|  |  | +Recent versions of RabbitMQ has the ability to configure a dead-letter
 | 
	
		
			
				|  |  | +queue for exchange, so that rejected messages is moved there.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _faq-execute-task-by-name:
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -564,8 +564,8 @@ Can I cancel the execution of a task?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  or if you only have the task id::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    >>> from celery.task.control import revoke
 | 
	
		
			
				|  |  | -    >>> revoke(task_id)
 | 
	
		
			
				|  |  | +    >>> from celery import current_app as celery
 | 
	
		
			
				|  |  | +    >>> celery.control.revoke(task_id)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _faq-node-not-receiving-broadcast-commands:
 | 
	
		
			
				|  |  |  
 |