Ошибка обработки вызовов API через RestClient - PullRequest
0 голосов
/ 25 мая 2018

Я использую rspotify , чтобы собрать список данных из названий альбомов.В то время как я достиг предела скорости API Spotify и теперь хотел бы создать несколько запасных вариантов, чтобы дождаться, пока я смогу выполнить поиск и повторить поиск, чтобы не потерять (x) количество данных, которые я уже получил.

Драгоценный камень использует RestClient, но, к сожалению, когда я достигаю ограничения скорости, я не получаю время, необходимое для ожидания следующего звонка:

.rvm/gems/ruby-2.5.1/gems/rest-client 2.0.2/lib/restclient/abstract_response.rb:223:in 'exception_with_response': 429 Too Many Requests (RestClient::TooManyRequests)

Все вышеперечисленноеМне дали.Оператор begin/rescue, приведенный ниже, не работает, так как при сбое кода он полностью завершается без повторной попытки.Что я здесь не так делаю?

begin
  search = RSpotify::Album.search(album[:title])
rescue RestClient::ExceptionWithResponse, RestClient::TooManyRequests, Exception => e
  puts e
  retry
rescue e
  puts e
  retry
end

Вот как они предлагают обработку ошибок:

https://github.com/rest-client/rest-client#response-callbacks-error-handling

...