Rails + геокоды: определение широты и долготы для 20 тысяч адресов

Я использую гем geocoder для работы с данными геолокации. Теперь у меня есть список из 20 тысяч адресов, и я должен найти для них координаты широты и долготы. Я использую для этого Bing Maps, который позволяет отправлять 125 тыс. запросов в день. Так что это хорошо.

Но есть проблема - потому что, когда я быстро отправляю несколько запросов через геокодер на декодирование некоторых адресов, вместо возврата адресов он возвращает пустой массив (ничего).

Я думаю, это из-за отправки слишком большого количества запросов за очень короткий период времени. Поэтому я подумал о задержке между вызовами геокодера, например:

sleep 3 # pause for 3 seconds

Это просто мысль - насколько большой должна быть пауза между вызовами геокодера? Или есть лучший способ обработать 20 тыс. данных с помощью геокодера?

Спасибо


person user984621    schedule 26.11.2014    source источник
comment
В день около 85 тысяч секунд, поэтому само собой разумеется, что Bing позволит совершать как минимум 1,4 звонка в секунду, но если 3 секунды вам подходят (чтобы завершить 20 тысяч звонков, потребуется около 16 часов 40 минут) - сделайте это. Это.   -  person Uri Agassi    schedule 27.11.2014
comment
В README геокодера написано 50 000 запросов/24 часа?   -  person Philip Hallstrom    schedule 27.11.2014


Ответы (1)


Если это не приложение для Windows, ограничение составляет 125 000 в год. Приложения для Windows могут выполнять 50 000 операций в день. Обратите внимание, что для некорпоративных аккаунтов скорость ограничена. Когда вы сделаете слишком много запросов за короткий промежуток времени, будет возвращен пустой ответ, а флаг в заголовке будет указывать на то, что запрос был ограничен по скорости. Это задокументировано здесь: http://msdn.microsoft.com/en-us/library/ff701703.aspx

person rbrundritt    schedule 27.11.2014