Доступ к результатам задач Django Celery после их завершения

Когда пользователь нажимает кнопку на моей веб-странице, запускаются 2 задачи celery (используя RabbitMQ):

views.py

def btn_clicked(request):
    task1 = task1.delay() 
    task2 = task2.delay()

tasks.py

@shared_task
def task1:
    #do something
    return result1

@shared_task
def task2:
    #do something
    return result2

Я хочу использовать htmx для обновления html на моей веб-странице, когда будут доступны результаты задач1 и 2 (по мере их поступления, задача1 может быть быстрее, чем задача2). Выполнение задач займет ~30 секунд.

Для того чтобы передать информацию в html, мне нужно получить доступ к результату, как только он будет доступен, но я не уверен, как это сделать. Из того, что я читал в других местах, это может быть через использование AsyncResult, но я не уверен в этом - и если это так, то я не уверен, как мне получить доступ к id каждой задачи, чтобы передать его в AsyncResult (я пробовал task.id без успеха)

Вернуться на верх