Question

I am using Celery + Kombu with Amazon SQL. The goal is to be able to a remove a task already scheduled for some specific datetime. I've tried

from celery.task.control import revoke
revoke(task_id)

but that didn't change anything. Is revoke not implemented for SQS transport? Is there some design decision behind it or it's just a lacking feature that should be implemented by some "DeleteMessage" line of code?

Was it helpful?

Solution

Unless you're using RabbitMQ, it's better to come up with a custom solution for revoking tasks. E.g. instead of executing tasks, build a system of two components: scheduler task that scans your table of potential tasks and executes them when time comes. No need to revoke, you just can decide not to execute task when needed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top