Harry
Harry

Reputation: 1699

Rails http request - don't wait for response

I am coding in Ruby-on-Rails

I would like to send a http request to another service but not wait for a response.

Pseudocode:

 def notification
     require 'net/http'

     ...
     # send net/http request
     Net::HTTP.post_form(url, params)

     render :text => "Rendered quickly as did not wait for response from POST"
 end

Is there any way to send the POST request and not wait for a response and just to quickly render the page?

Upvotes: 2

Views: 2605

Answers (1)

Rahul Tapali
Rahul Tapali

Reputation: 10147

You can try delayed_job. It is mainly used to run processes in background. Once you install delayed_job you can do like this.

   require 'net/http'

   def notification

     ...
     your_http_request  #calling method
     render :text => "Rendered quickly as did not wait for response from POST"
   end

   def your_http_request
     # send net/http request
     Net::HTTP.post_form(url, params)
     #do your stuff like where to save response
   end

   handle_asynchronously :your_http_request

Upvotes: 1

Related Questions