Теоретическая сторона:
Есть одна (годная) технология для передачи событий от сервера к клиенту - это WebSocket.
И есть куча старых костылей, актуальных до появления WebSocket - это
Commet,
Long Polling,
Server Push, и прочие техники в основе которых лежит издевательство над не предназначенным для этого протоколом HTTP.
Практическая сторона:
Смотрите в сторону
Django Channels.
Update:
Для тяжелых вычислений и любых (потенциально) продолжительных процессов полагается использовать очереди асинхронных фоновых задач:
- Сelery - самое популярное решение, практически индустриальный стандарт.
- Django Q - молодой, быстро развивающийся, конкурент Celery.
- huey, a little task queue - гораздо более легковесный вариант для простых применений.