Существует система проведения олимпиад. Изнутри это, на самом деле, достаточно сложная вещь с богатой функциональностью (говоря умными словами, она поддерживает ведение проектной деятельности по информационному, техническому и методическому обеспечению олимпиад). Естественно, под всю эту функциональность имеются сущности в БД, и иногда по этим сущностям нужно проводить аналитику (обычно это относится к разным спискам участников). В данный момент система позволяет фильтровать данные по заданным критериям, сортировать их и выгружать в XLSX для дальнейшей ручной обработки. Если брать списки участников, то там можно выгружать результаты по различным турам, потокам площадок, на которых пользователь писал или будет писать заключительный этап, вхождение в различные системные группы, их школы/города/регионы

Обязательные требования

Что тут нас не устраивает:

Операции выгрузки иногда занимают много времени, особенно если они большие. Выгрузка происходит не в фоне, т.е. пользователь нажимает на кнопку выгрузки и ждёт, пока она выгрузится. Причём не факт, что табличка в итоге попадёт к пользователю, поскольку трафик идёт через NGINX, который обрывает соединения, от которых нет ответа определённое время. В таком случае пользователь просто получит ошибку 504

Как это должно выглядеть в итоге: пользователь нажимает на кнопку выгрузки, и система ему отвечает, что выгрузка начинает создаваться где-то в фоне и можно работать с другими страницами. В это время система где-то в фоне генерирует выгрузку, сохраняет результирующий файл и прочую информацию (когда и кем выгружено, что выгружалось, с какими параметрами и т.д.) в отдельную табличку. После сохранения система уведомляет пользователя, что выгрузка готова и что её можно скачать на определённой странице интерфейса

Как это предлагается реализовывать: у нас уже есть набор фоновых процессов, которые слушают запросы от основного приложения через Redis. Можно сделать ещё один такой процесс, который будет вызывать существующую функцию выгрузки. В этом процессе будет происходить сама выгрузка, не влияя на основное приложение (т.е. NGINX рвать соединение не будет, т.к. его просто нет). После сохранения самой выгрузки и её мета-информации процесс должен как-то сообщить пользователю, что выгрузка готова. Это можно сделать, наверно, через веб-сокеты. Также тебе нужно будет отрефакторить метод для создания выгрузки, т.к. её разработчик (изначальный разработчик системы) раздул его на 100+ строк, это неудобно читать и наверняка там остались баги

4 года назад
guest_16210638346759
4 года в сервисе
Был
4 года назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Необходима доработка функции поиска на сайте, реализованного на PHP и MySQL. Изменения касаются обработки односимвольных запросов: при вводе одного символа поиск должен осуществляться только по этому символу, без учета его наличия в других словах. Указать пример: 'iphone 5', '3 лопаты', 'ехать в среду'.

    Закрыт
    4 года назад
  • Необходимо переделать проект CRM на Python с GitHub, проверив его работоспособность. Задача включает адаптацию форм, создание базы данных, разработку диаграммы классов и описание установки на локальный ПК. Дедлайн выполнения — неделя. Можно использовать любую другую CRM с GitHub, адаптируя её под медицинскую тематику.

    Закрыт
    4 года назад
  • Требуется внести изменения в карточку товара Woocommerce: перенести хлебные крошки, исправить отображение дополнительных фото, доработать функционал добавления в корзину и добавить иконку на кнопку. Также необходимо сделать отображение похожих товаров и создать блок перед футером согласно макету.

    Закрыт
    4 года назад
  • Требуется разработать слайдер с эффектом наложения изображений. Задача включает использование технологий веб-программирования, таких как JavaScript и CSS. Ссылка на пример слайдера предоставлена для ознакомления.

    Закрыт
    4 года назад
  • Необходимо доработать сайт на PHP, добавив адаптивный дизайн. Включить реализацию фильтров и функции поиска для улучшения пользовательского опыта. Адаптация должна обеспечить корректное отображение на мобильных устройствах.

    Закрыт
    4 года назад
  • Требуется установить базу данных городов и областей России на сайт, а также реализовать фильтр для поиска заявок по этим регионам. Работа включает в себя заполнение данных и настройку функционала для удобного поиска.

    Закрыт
    4 года назад
  • Необходимо разработать Telegram-бота на языке PHP, следуя предоставленному техническому заданию. Важно учесть все детали реализации, чтобы бот функционировал корректно. Ожидаются предложения по ценам и срокам выполнения.

    Закрыт
    4 года назад
  • Необходимы исправления для проекта на WordPress: проверить корректность эквайринга и токена FB, добавить возможность загрузки файлов при групповой регистрации, блокировка дат с уведомлением пользователя. Также требуется устранить ошибку при загрузке медиа. Заказ только для исполнителей из Украины.

    Закрыт
    4 года назад
  • Требуется специалист для доработки сайта на CMS OpenCart 1.5.5.1. Необходимо добавить функционал согласно предоставленному дизайну и техническому заданию. Ожидаются квалифицированные предложения от опытных фрилансеров.

    Закрыт
    4 года назад
  • Ищется специалист для создания программы, которая будет прослушивать плейлисты ВКонтакте. Необходимо реализовать функционал, позволяющий эффективно управлять аккаунтами. Подробности обсуждаются.

    Закрыт
    4 года назад