Я думаю, что есть лучший способ, чем сохранить объект задачи в модели. Например, если вы хотите проверить, завершена ли группа задач (параллельная):
# in the script you launch the task
from celery import group
job = group(
task1.s(param1, param2),
task2.s(param3, param4)
)
result = job.apply_async()
result.save()
# save the result ID in your model
your_obj_model = YourModel.objects.get(id='1234')
your_obj_model.task_id = result.id
your_obj_model.save()
Тогда, на ваш взгляд
from celery.result import GroupResult
# ...
task_result = GroupResult.restore(your_obj_model.task_id)
task_finished = task_result.ready()
# will be True or False