У меня есть приложение rails, которое вызывает сторонний API для погоды.Лучшая практика для вызовов сторонних API Rails?
Проблема в том, что вызов API обычно очень медленный и иногда не выполняется. Показывать погоду не обязательно, но она добавляет приятный немного дополнительной и актуальной информации.
Прямо сейчас я вызываю Wunderground API с помощью барометра в контроллере, что означает, что страницы навсегда загружаются, если API работает медленно или не работает.
Я надеялся переместить этот вызов на вызов AJAX со страницы после загрузки страницы. Я не возражаю, если информация показывает, но немного задерживается, потому что, как уже упоминалось, это не очень важно.
Мне просто нравились лучшие практики для такого звонка? Что такое Rails?
Вызов API асинхронно - это путь, но с помощью планировщика, чтобы сохранить результат в базе данных? Это было бы возможно только в том случае, если он знал некоторые пользовательские данные раньше, в этом случае местоположение пользователя. Вам также нужно будет запускать этот планировщик каждые несколько минут, поскольку данные о погоде зависят от времени. Вызов AJAX гораздо более уместен, либо напрямую к API, либо к другому маршруту в вашем приложении, которое запрашивает API – Mario
Ну, неясно, какую информацию о погоде он показывает. Если это, например, местный документ, который показывает местный прогноз погоды, тогда запланированное фоновое задание будет прекрасным. Если он действительно показывает различную информацию для разных пользователей, я согласен с тем, что фоновая работа, вероятно, не сработает. – Mischa
Спасибо, я не думал об этом. Вы правы, что просто обновлять данные о погоде в качестве фонового задания было бы возможным, если бы он показывал всем одно и то же местоположение. – Mario