проблема с извлечением длинного списка геолокаций в рельсах - PullRequest
0 голосов
/ 22 января 2011

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

Invalid JSON string

и иногда после выборки около 500 записей прекращается выборка координат. Мне нужно около 18000 координат, какие-либо предложения ??

 task :populate_geolocations_reverse => :environment do
  AdvocateDetail.order("id DESC").all.each do |advocate|
  p advocate.id
  if advocate.latitude.nil? or advocate.latitude==0 or advocate.latitude=="0"
     p "fetching geolocations...:-( "
     a = Geocoder.fetch_coordinates(advocate.address)
     unless a.nil?
       p "got geolocations... :-) "
       advocate.latitude=a[0]
       advocate.longitude=a[1]
       p "saving geolocations...:-P "
     advocate.save(false)
  end
else
   p " already have geolocations for this Jumped....:-)"
end
end
p "transformation done... "

end

1 Ответ

0 голосов
/ 22 января 2011

Пожалуйста, помните, что у Google есть предел для обслуживания ваших запросов. Это около 1000 уникальных запросов в день и 1 в секунду. Как я знаю, Geokit использует больше сервисов, чем сам Google, но он все еще может быть ограничен. Посмотрите на это поближе.

...