On Tue, Oct 14, 2008 at 7:17 PM, Max Williams
<[EMAIL PROTECTED]> wrote:
>
> I have backgroundrb working locally and everything's fine.  However, i
> can't get it running on our server.
>
> I read a blog post by David Burger about backgroundrb
> (http://david-burger.blogspot.com/2008/04/backgroundrb-rails-notes.html#comment-form)
> and it says that you set up your backgroundrb.yml file with a different
> section for each environment you want to use.  Mine looks like this:
>
> ---
> :backgroundrb:
>  :ip: 0.0.0.0
>  :port: 11007
>
> :development:
>  :backgroundrb:
>    :port: 11006
>    :environment: development
>    :persistent_delay: 2
>
> :staging:
>  :backgroundrb:
>    :port: 11007
>    :environment: staging
>    :persistent_delay: 10
>
> :production:
>  :backgroundrb:
>    :port: 11008
>    :environment: production
>    :persistent_delay: 15
>
> The environment i'm trying to get it working in initially is 'staging'
> (our server-based environment for playing with new stuff before
> deploying it to the live server).  I set a different persistent_delay in
> each environment just so i could watch the log file and see what's going
> on.  I start backgroundrb like this:
>
>  sudo ./script/backgroundrb start -e staging
>
> The server starts ok, and in my staging.log i can see it querying the
> job queue table every five seconds (the default time).  So, it seems to
> be running, but ignoring my 'staging' settings.  When i try and call it
> from the console or my app, i get this error:
>
>  BackgrounDRb::NoServerAvailable
>

This feature of recursively merging environments was removed from
version 1.0.4 and hence your code may not work.
Alternately, you can try applying following diff (if you have up to
date copy of bdrb from git):

diff --git a/lib/backgroundrb/bdrb_config.rb b/lib/backgroundrb/bdrb_config.rb
index adde8b9..5c76346 100644
--- a/lib/backgroundrb/bdrb_config.rb
+++ b/lib/backgroundrb/bdrb_config.rb
@@ -33,6 +33,16 @@ module BackgrounDRb
         Object.const_set("RAILS_ENV",environment)
       end

+      if config[environment]
+        deep_proc = Proc.new do |key, oldval, newval|
+          if oldval.kind_of?(Hash) && newval.kind_of?(Hash)
+            next oldval.merge(newval,&deep_proc)
+          end
+          next newval
+        end
+        config.merge!( config[environment], &deep_proc)
+      end
+
       ENV["RAILS_ENV"] = environment
       config
     end

--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to