Fran Martinez
Fran Martinez

Reputation: 3042

koala response times. 20 seconds waiting response

I'm new with Rubyonrails and Koala gem and I'm sure I'm doing something wrong. I've been tuning my code to the minimun expression but the problem persist. Then I tried to do the same without koala gem, but the problem persisted.

This is the code:

require 'koala'
require 'open-uri'


puts Time.now

@graph = Koala::Facebook::API.new
resp = @graph.graph_call("cocacola", {}, "get", {})
puts resp

puts Time.now

coke_url = "https://graph.facebook.com/cocacola"
response = open coke_url
response = JSON.parse response.read
puts response.inspect

puts Time.now

I have to wait always 21 seconds the Facebook's response. If I put the https://graph.facebook.com/cocacola on my browser, the response is instantaneous ¿is not the same?

thanks

Upvotes: 2

Views: 374

Answers (2)

Fran Martinez
Fran Martinez

Reputation: 3042

Finally, it was a DNS problem (thanks jpgeek).

When I did just a GET request to any website, the response was after 21 seconds, but using the IP of the same website, the response was instantaneously.

I found on google the solution: http://www.mikeperham.com/2010/02/10/asynchronous-dns-resolution/

I have use this personal solution in Gemfile (I'm not sure if it's the best):

group :development do
    require 'resolv'
    require 'resolv-replace'
end

Now it's working fine!

Upvotes: 1

davidrac
davidrac

Reputation: 10738

I'm using Koala in my application and did not have such experience. The only difference is that I don't use it anonymously. Instead I created an app and I'm using an access token to access the Facebook API. This might be the root cause, as I've found this post that also seems relates.

Upvotes: 1

Related Questions