Написать код Python + Django для постепенной загрузки страницы сайта
Мне нужна помощь в разработке кода Python + Django, который позволит ренедрить html страницу пользователю постепенно, отправляя её "по частям".
У меня есть:
Последняя версия Python (3.11) и Django
Сервер Ubuntu Apache Nginx
1 большой набор данных (45 столбцов, 10 000 000 строк+) в БД и pandas, который проводит необходимые вычисления на сервере
В Django мне необходимо сгенерировать длинную страницу для сайта с большим количеством таблиц. Для этого я провожу сложные вычисления, в связи с чем пользователь сталкивается с долгой загрузкой страницы (до 9 секунд).
После оптимизации кода и интеграции многоядерных вычислений, вижу единственных выход: разбить загрузку одной большой страницы в один этап на несколько маленьких этапов.
Текущий процесс:
1. Запрос от пользователя
2. Views.py:
Шаг 1. Отправка запросов в БД и получение ответов - 3 секунды
Шаг 2. Pandas: Подготовка из 1 большой полученной таблицы 3-х средних - 4 секунды
Шаг 3. Pandas: Для каждого из средней таблицы, подготовка по 5 маленьких таблиц - 2 секунды.
Шаг 4. Отправка пользователю (render) 15 маленьких таблиц.
3. Получение пользователем готовой HTML.
Хочу сделать:
1. Запрос от пользователя
2. Views.py:
Шаг 1. Отправка запросов в БД и получение ответов - 3 секунды
Шаг 2. Pandas: Подготовка из 1 большой полученной таблицы 1-ой средней - 1,3 секунды
Шаг 3. Pandas: Подготовка из 1 средней таблицы 5 маленьких - 0,7 секунды
Шаг 4. Отправка пользователю (render) 5 маленьких таблиц
3. Получение пользователем готовой HTML.
4. Views.py (продолжение функции)
Шаг 2_2. Pandas: Подготовка из 1 большой полученной таблицы 1-ой средней - 1,3 секунды
Шаг 3_2. Pandas: Подготовка из 1 средней таблицы 5 маленьких - 0,7 секунды
Шаг 4_2. Отправка пользователю (render) 5 маленьких таблиц
5. Получение пользователем готовой HTML (дозагрузка страницы)
6. Views.py (продолжение функции)
Шаг 2_3. Pandas: Подготовка из 1 большой полученной таблицы 1-ой средней - 1,3 секунды
Шаг 3_3. Pandas: Подготовка из 1 средней таблицы 5 маленьких - 0,7 секунды
Шаг 4_3. Отправка пользователю (render) 5 маленьких таблиц
7. Получение пользователем готовой HTML (дозагрузка страницы)
Важно: в 4 и 6 пунктах должен отсутствовать шаг 1 из пункта 2 - получение данных из БД.
Цена за код - 2000, либо предложите свою.
Оплата после отправки скрина с частью кода / ссылки на работающий пример.