Witam,
mam taki problem z prosta aplikacja ktora wysyla zadania do serwera i przekierowywuje uzytkownika na konkretna strone.
Uzywam gemu Typhoeus. Kiedy te callbacki sa wywolywane praktycznie caly czas dostaje rezult success=false z serwera, ale czasami jest to sukces=true (bardzo rzadko)
Nie wiem dlaczego. Czym to jest spowodowane ze czase te callbacki przechodza a czasem nie.
Ponizej metoda:
[code] def clicks_postback
if params[:transaction_id].to_i > 0 && params[:transaction_id].present? && params[:offer_id].to_i > 0 && params[:offer_id].present? && params[:landing_page].present?
@landing_page = CGI.unescapeHTML(params[:landing_page])
@offer_id = params[:offer_id]
@transaction_id = params[:transaction_id]
hydra = Typhoeus::Hydra.new
hydra.disable_memoization
request = Typhoeus::Request.new(“http://serwer.com”,
:method => :get,
:timeout => 10000, # milliseconds
:cache_timeout => 60, # seconds
:verbose => true,
:params => {:offer_id => @offer_id, :transaction_id => @transaction_id})
request.on_complete do |response|
if response.success?
redirect_to @landing_page
puts "response: #{response.body}"
elsif response.timed_out?
Rails.logger.info "Server Response URL got a time out"
elsif response.code == 0
#Could not get an http response, something's wrong
Rails.logger.warn "#{response.curl_error_message}"
else
#Received a non-successful htpp response.
Rails.logger.wanr "HTTP request failed: #{response.code.to_s}"
end
end
hydra.queue(request)
hydra.run
puts request.response.inspect
else
render :text => "Bad Request", :status => 401
end
end[/code]