On Wed Mar 14, 2007 at 08:14:36PM -0400, Michael Gorsuch wrote:
> carmen - I'm not sure _how_ much this will really help you, but I
> recently explored a similar issue with an internal Camping app.
> 
> In summary, I needed to make sure that all calls to a specific
> controller were always executed serially.  i.e. - if two calls came in
> at approximately the same time, the second call could not run until
> the first one finished.

thanks. ive got the PP thread chapter bookmarked, and planned to get into it. 
your example is nice and simple..

mainly i am unclear on what the current concurrency model is - its fairly 
obvious with rails since for whatever reason it's more popular so theres tons 
of blogs discussing it, but i cant find anything except a CHANGELOG entry in 
1.3 mentioning some method is thread-safe (but does this extend to the entire 
framework?)

my brief experiments with subjective request timings using 2 browsers, along 
with stats from httperf, had me thinking everything is already serialized. and 
here youre suggesting the opposite...

which is it!? i seem to recall a 'dangerous' switch somewhere in mongrel or 
rails that disabled the explicit serialization.

fwiw, heres my mongrel configurator:

if __FILE__ == $0
  Yard.create
  config = Mongrel::Configurator.new :host => (ARGV[0] || "0.0.0.0") do
    listener :port => (ARGV[1] || 80) do
      uri "/", :handler => 
Mongrel::Camping::CampingHandler.new(Camping::Reloader.new(__FILE__))
      uri '/s/', :handler => 
Mongrel::DirHandler.new(File.dirname(__FILE__)+"/s")
      trap("INT") { stop }; run
    end
  end
  config.join
end

> 
> This was not a problem: I just included the 'thread' library and
_______________________________________________
Camping-list mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to