Я использую 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