Я хочу создать отложенную задачу, и если возникнут какие-то условия, мне нужно найти эту задачу и отозвать ее.
Вот как я создаю задачу:
notify_before_departure.apply_async(
args=(user.fcm_registration_token, booking.bus_stop_from.title,),
eta=notification_time,
)
Так есть ли какой-либо атрибут apply_async
, в котором я могу определить свой пользовательский идентификатор, который впоследствии можно будет использовать для отмены этой конкретной задачи? Примерно так:
# create task
notify_before_departure.apply_async(
args=(user.fcm_registration_token, booking.bus_stop_from.title,),
eta=notification_time,
custom_id=booking.id
)
# revoke if needed
from celery.task.control import revoke
revoke(booking.id, terminate=True)