Статьи

Время ожидания и повторные звонки третьим лицам

Когда вы звоните третьим сторонам, вы хотите установить разумный тайм-аут, и вы также можете сделать несколько попыток, прежде чем сдаться. Вот относительно краткий способ сделать это в Ruby (3 попытки, каждая с таймаутом в 5 секунд):


3.times do
  begin
    Timeout::timeout(5) do
      # Call your third party (for a example, a payment gateway)
    end
    @success = true
    break
  rescue Exception
    # Try again!
  end
end

if @success
  # Jump for joy!
end

Я уверен, что кто-то будет вмешиваться с еще более сексуальным способом …