If you are not using RabbitMQ, it is better to come up with a special solution for recalling tasks. For instance. Instead of completing tasks, create a system of two components: a task scheduler that scans your table of potential tasks and performs them if necessary. No need to cancel, you just can decide not to complete the task when necessary.
AlexA source share