[Backgroundrb-devel] more on leopard problem

John Miller jmillr at umich.edu
Fri Sep 12 12:43:10 EDT 2008


All,

Just joined, so can't reply to earlier thread regarding the problem  
with packet on leopard. Here is some data detailing the situation on  
my machine.

I have only one worker defined (in addition to the default log_worker).

If I manually "script/backgroundrb start" from my rails root,  
everything works fine.

However, I'm trying to bring this to a production level, using god.

If I manually start god with "god -c /path/to/config/background.god"  
then god will start backgroundrb if it isn't currently running, and  
everything works fine.

The problem occurs when I use launchd to automatically start god on  
reboot. When that happens, backgroundrb starts, but I get the  
following error in backgroundrb_debug_11006.log:

-------------------------------------------
/usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:116:in `exec': No such file or directory -  
packet_worker_runner 8:7:log_worker:17:/Users/jmillr/rails/ 
mchanntesting/lib/workers:/Users/jmillr/rails/mchanntesting/script/ 
load_worker_env (Errno::ENOENT)
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:116:in `fork_and_load'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:80:in `start_worker'
	from /Users/jmillr/rails/mchanntesting/vendor/plugins/backgroundrb/ 
server/lib/master_proxy.rb:16:in `initialize'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:19:in `run'
	from /Users/jmillr/rails/mchanntesting/vendor/plugins/backgroundrb/ 
server/lib/master_proxy.rb:14:in `initialize'
	from /Users/jmillr/rails/mchanntesting/script/backgroundrb:46:in `new'
	from /Users/jmillr/rails/mchanntesting/script/backgroundrb:46
/usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:116:in `exec': No such file or directory -  
packet_worker_runner 11:10:symbol_data_worker:4:/Users/jmillr/rails/ 
mchanntesting/lib/workers:/Users/jmillr/rails/mchanntesting/script/ 
load_worker_env (Errno::ENOENT)
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:116:in `fork_and_load'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:68:in `load_workers'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:63:in `each'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:63:in `load_workers'
	from /usr/local/lib/ruby/gems/1.8/gems/packet-0.1.13/lib/packet/ 
packet_master.rb:20:in `run'
	from /Users/jmillr/rails/mchanntesting/vendor/plugins/backgroundrb/ 
server/lib/master_proxy.rb:14:in `initialize'
	from /Users/jmillr/rails/mchanntesting/script/backgroundrb:46:in `new'
	from /Users/jmillr/rails/mchanntesting/script/backgroundrb:46
Client disconected
-------------------------------------------

Neither worker is found.

Let me repeat: It all works fine when I manually start background.rb  
or manually start god which then starts backgroundrb. The problem only  
occurs when I use launchd to start god. (And, by the way, the problem  
is the same if I use launchd to autostart backgroundrb; this was  
before I tried god.)

The problem appears to be in packet (on MacOS X 10.5).

I can send any of the launch plist, god config, or worker files, but  
as I've said, it works great if I invoke the system manually.

If anyone has any suggestions, I'd be glad to try them out. If anyone  
can suggest changes to packet to try, I'll make those changes to see  
if helps. (It's beyond my ken to try to understand what packet is  
doing...) If I can't get this resolved, I'll have to go on to  
something else (beanstalkd?)

Thanks for any help,

John Miller



More information about the Backgroundrb-devel mailing list