Задача запустить асинхронное выполнение таска для отчета, и потом на стороне клиента (фронт-энд), с интервалом поллить результат выполнения таска (иначе http запрос уходит в тайм-аут, если ждать результата прямо во view).
Celery работает во связке с redis.
Вопрос: как и откуда получить состояние таска из другой view (к которой с интервалом буду обращаться через AJAX с клиента) и при успехе вернуть ему сгенерированный отчет.
abbrakadabbra, еще вариант такой можно сделать - создаем в базе таск со статусом waiting и всеми параметрами нужными селери, отдаем id селери, в селери забираем из базы все параметры таска, обновляем его статус до processing, при ошибке - ставим error, при успешном окончании success. И поллим этот таск, что в базе.