ask / celery

Home | Edit | New

Revoking tasks2

Synopsis

This is the design plan for implementing the ability to revoke a task that has been sent.

Proposed Solution

We’ll add a broadcast queue:

queue: “celerycast-$workeruuid” exchange: “celerycast” exchange_type: “fanout” binding_key: ""

Each worker is listening to this queue, when a message of the following format arrives:

{"revoke": “$task-uuid”}

it saves this uuid as revoked, the mediator then skips this message if it ever gets popped off the queue.

To make sure this dict doesn’t grow large, the entries expires after a configurable amount of time.

Last edited by ask, Thu Nov 19 04:14:04 -0800 2009
Home | Edit | New
Versions: