Я хотел бы иметь возможность прервать задачу, которая выполняется из очереди сельдерея (с использованием rabbitMQ). Я вызываю задачу, используяОтменить выполняемую задачу в сельдерей в django
task_id = AsyncBoot.apply_async(args=[name], name=name, connect_timeout=3)
, где AsyncBoot - заданная задача.
Я могу получить идентификатор задачи (предполагая, что это длинная строка, возвращаемая apply_async
) и сохранить ее в базе данных, но я не уверен, как вызвать метод прерывания. Я вижу, как сделать методы abortable с классом задач Abortable, но если у меня есть только строка с идентификатором задачи, как я могу вызвать aabort() в задаче? Благодарю.
Стоит отметить, что в документах сельдерея говорится: «Этот класс будет работать только с базами данных». http://docs.celeryproject.org/en/latest/reference/celery.contrib.abortable.html?highlight=abort#celery.contrib.abortable – dgorissen