Hi, I need a user to initiate a long running task ... say five minutes. And I want the user to wait for a response before doing anything else. The way I see it, using a straight HTTP POST is gonna time out. So, I could start up a new thread using Backgroundrb (after an AJAX form post), and use AJAX to ping the server every second to look at the progress. Or, I could just use an AJAX form post, and using AJAX poll the server every second to see what''s up. The way I see it, an AJAX call doesn''t time out the same way a normal HTTP call could times out on the browser. Therefore ... is there any need to complicate things by using backgroundrb in this scenario? Or am I missing some major advantage using backgroundrb, or some major disadvantage using a regular AJAX call? Thanks Joerg -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 04 Apr 2007, at 17:29, Joerg Diekmann wrote:> Therefore ... is there any need to complicate things by using > backgroundrb in this scenario? > > Or am I missing some major advantage using backgroundrb, or some major > disadvantage using a regular AJAX call?Backgroundrb will release the thread, while a normal AJAX request where you wait for a response will block one of your server connections. This will be the best way to go btw, as your subsequent AJAX calls will only take a few fractions of a second to query the Backgroundrb process, then release the thread for other users. To illustrate: suppose you''re running a mongrel cluster of 5 mongrels and you have 5 people making such a long running task at the same time, all mongrels will be in use and no one will be able to connect to your site anymore if you use a normal AJAX request which waits for a server response. Best regards Peter De Berdt --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ah right. Yes - now I see the advantage of using backgroundrb ... Thanks! Peter De Berdt wrote:> To illustrate: suppose you''re running a mongrel cluster of 5 mongrels > and you have 5 people making such a long running task at the same > time, all mongrels will be in use and no one will be able to connect > to your site anymore if you use a normal AJAX request which waits for > a server response.-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---