[Backgroundrb-devel] [ANN] New release! and Database access for workers
Ezra Zygmuntowicz
ezmobius at gmail.com
Wed Jun 14 22:21:45 EDT 2006
Hi-
>>
>> BackgrounDRb doesn't need all of rails loaded. THat would make it
>> consume way more memory then it needs
>
>
> Hi Ezra - I got it to work for me. At first I changed the start
> script and config to include only the libs I needed, but then I
> needed a plugin (acts_as_taggable), so I included that too, but then
> the 'logger' instance used by my models wasn't defined, so I decided
> to simply include the whole Rails environment and now all is well.
> Is it the most efficient use of memory? No. But oh well. I need it.
>
> To include the whole Rails environment I made this change in script/
> backgroundrb/start:
>
> if CONFIG['load_rails']
> require "#{RAILS_ROOT}/config/environment"
> end
>
>
> Alternatively, you can pick and choose environment config libs and
> plugins by adding this to your config/backgroundrb.yml:
>
> libs:
> environments:
> pocket_config
> some_other_config
> plugins:
> acts_as_taggable
> some_other_plugin
>
>
> And then change script/backgroundrb/start:
>
> # Require all worker classes in lib/workers/
> Dir["#{RAILS_ROOT}/lib/workers/*"].each{ |worker| require worker }
>
> # Load other libraries
> unless CONFIG['libs'].nil?
> env_libs = CONFIG['libs']['environments']
> plugin_libs = CONFIG['libs']['plugins']
> env_libs.each {|lib| require "#{RAILS_ROOT}/config/environments/#
> {lib}"} unless env_libs.nil?
> plugin_libs.each {|plugin| require "#{RAILS_ROOT}/vendor/plugins/#
> {plugin}/init"} unless plugin_libs.nil?
> end
>
>
> HTH.
> I might name my firstborn Ezra now.
> pmark
Cool man I'm glad its working good for you. And thanks for the
additions. Now that we have a real config file stuff like this is
easy to add. I'll check this in when I get a chance.
Can you do me a favor? Start up your drb server that requires all
your rails stuff and use top to see how much mem it takes up. If you
can just copy paste some top output that would be cool. I'm curious
to see how much ram it takes up with everything loaded. When I run it
without ActiveRecord or anything other then itself and a few workers
it only takes up 2-3Mb of ram. ActiveRecord adds a bit to this
bringing it up to 8Mb or so.
Cheers-
-Ezra
More information about the Backgroundrb-devel
mailing list