Google App Engine, Task Queues
A task is removed from the queue when it executes if and only if it returns an HTTP 200 response.  For any other response, it will be retried until it successfully executes.
As David's answer indicates, they can also be manually removed.
How can I remove a task from a task queue? Is Google App Engine Task Queue removes the task from the queue after it is executed?