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?
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.