Я изучил некоторые уроки, просмотрел некоторые ответы SO и не смог найти рецепт моей проблемы.Rails: длительное время отклика HTTP-ответа с помощью ajax. Это хорошая идея? Пожалуйста, помогите с деталями реализации.
Я пишу веб-сайт, на котором предполагается отображать почти график акций в реальном времени. Данные хранятся в постоянном обновлении базы данных MySQL, я написал код запроса find_by_sql, который извлекает все данные, которые мне нужны, чтобы получить мою диаграмму. Все в порядке, кроме производительности - требуется от одной секунды до одной минуты для разных запросов для извлечения всех данных из базы данных, на этот раз включает необходимые (Мои) SQL-серверные вычисления. Это просто неприемлемо.
У меня возникла следующая идея: если данные запрашиваются с сервера MySQL в один момент времени вместо всего набора данных, для получения отдельной точки требуется всего около 1-100 мс.
Я полагаю, что процесс выборки данных может управляться браузером. После того, как пользователь нажимает кнопку, чтобы получить диаграмму, контроллер делает один запрос в базе данных и отображает, скажем, индикатор выполнения, скажем, 1% готовности. Когда браузер получает ответ, он немедленно делает запрос (ajax), и сервер извлекает следующий фрагмент данных и отображает «2%».
И так далее, пока все данные не будут готовы, и сервер отобразит запрошенный график. Может ли это быть реализовано в rails + js, есть ли учебное пособие для решения аналогичной проблемы в Интернете? Я полагаю, что если это возможно вообще, кто-то должен был это сделать раньше.
Я читал несколько статей об ajax, я считаю, что понимаю общие принципы, но сам не делал нетривиального программирования ajax.
Спасибо за ваше время!
Это действительно хороший способ сделать это. Пользователь знает, что ваше приложение работает над хрустом данных, и вы можете использовать ту же самую логику программирования, которую вы уже написали. – sosborn