Ich verwende eine API, die gut auf die Entwicklung funktioniert, aber Timeouts, wenn ich es aus der Produktion oder Heroku Run Rails-Konsole aufrufen.API-Aufruf funktioniert auf Entwicklung, Timeout auf Produktion heroku
ich folgendes tun
url = "http://theapi.example.com"
response = RestClient.get url
Lokal bekomme ich eine 200-Antwort, in proudction ich folgendes:
RestClient :: Ausnahmen :: Opentimeout: Timed out Anschluss an Server von /app/vendor/bundle/ruby/2.3.0/gems/rest-client-2.0.1/lib/restclient/request.rb:731:in
rescue in transmit' from /app/vendor/bundle/ruby/2.3.0/gems/rest-client-2.0.1/lib/restclient/request.rb:647:in
Sende‘von /app/Verkäufer/Bündel /ruby/2.3. 0/gems/rest-client-2.0.1/lib/restclient/request.rb: 145: inexecute' from /app/vendor/bundle/ruby/2.3.0/gems/rest-client-2.0.1/lib/restclient/request.rb:52:in
ausführen 'von /app/vendor/bundle/ruby/2.3.0/gems/rest-client-2.0. 1/lib/restclient.rb: 67: inget' from (irb):30 from /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in
start 'von /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/console.rb:9: instart' from /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in
Konsole 'von /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:inrun_command!' from /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in
' von Skript/Schienen: 6 : inrequire' from script/rails:6:in
'
Die API unterstützt ssl nicht, nicht sicher, dass es etwas zu tun hat es.
https://devcenter.heroku.com/articles/request-timeout#timeout-behavior –
Dank @Bharatsoni, aber das ist nicht das Problem, das ich habe, es ist etwas mit der Produktion zu tun. Die API ist zugänglich, nicht überladen und sie gibt 200 unter einer Sekunde in der Entwicklung zurück. – marimaf