Поиск песни при использовании нескольких API - PullRequest
0 голосов
/ 19 июня 2010

Я попытаюсь создать открытый проект, в котором сравниваются наиболее распространенные поставщики загрузок MP3.

Для этого пользователю потребуется ввести название трека / альбома / исполнителя, т. Е. Deadmau5.соответствующие цены от API.

У меня есть несколько вопросов, с которыми некоторые из вас, возможно, сталкивались раньше:

  1. Если у меня есть одна страница на стороне сервера, которая запрашивает все данные, и этовсе загружается одновременно.Если так, как бы вы справились с таймаутами или другими проблемами, которые могут возникнуть.Или, если страница загружается, то каждая цена вытягивается одна за другой (ajax).Что вы испытываете при проведении проверки сравнения?
  2. Основная функция будет сравнивать цены, но как я могу быть уверен, что продукты одинаковы.Я думал о времени исполнения, количестве треков, но мне все равно пришлось бы установить один источник в качестве основного.

Я делаю это вики, пожалуйста, добавьте и отредактируйте любые проблемы, о которых вы можете подумать.Спасибо за вашу помощь.Ищите будущий блог!

1 Ответ

0 голосов
/ 19 июня 2010

Я бы сначала проверил амазонку. они дадут вам SKU (штрих-код на обратной стороне альбома, я думаю, что amazon называет это EAN). Если другие провайдеры используют это, вы можете убедиться, что они смотрят на нужный товар.

Я бы кешировал все результаты в базу данных и истекал бы через разумное время. Таким образом, когда вы получаете 100 запросов на Бритни Спирс, вам не нужно забивать другие сайты и замедлять работу приложения.

Вы также должны убедиться, что вы многопоточны, независимо от того, какие запросы вы делаете на стороне сервера. Например, Curl позволяет вам получить несколько URL-адресов и назначить пользовательский обратный вызов. Я хотел бы, чтобы обратный вызов отправил некоторые данные, чтобы вы могли обновить свою страницу, когда результаты вернутся. GETTUNES => обратный вызов curl возвращает некоторые данные для каждого URL, когда соединение открыто, и вы анализируете его на стороне клиента.

...