intermittent BJ errors

hi all

I'm running background tasks using BJ 1.0.1 (gem version). On some requests, the tasks are executed as expected. On others, I get the following error:

RuntimeError (no bj found in ["/u/apps/igniter/releases/20080408205801/ script", "/bin", "/usr/bin", "/sbin", "/usr/sbin"]):

when it runs, it runs fine but does anyone know what could be causing these errors? I'm using ubuntu 7.10/nginix/mongrel/swiftiply

thanks nic

full error message:

RuntimeError (no bj found in ["/u/apps/igniter/releases/20080408205801/ script", "/bin", "/usr/bin", "/sbin", "/usr/sbin"]):     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/util.rb:93:in `find_script'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/bj.rb:12     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb: 43:in `instance_eval'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb: 43:in `call'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb: 43:in `attribute'     (eval):3:in `call'     (eval):3:in `script!'     (eval):4:in `script'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:120:in `command'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:107:in `start'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:62:in `tickle'     /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/api.rb:66:in `submit'     /app/controllers/uploads_controller.rb:7:in `create'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:1158:in `send'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:1158:in `perform_action_without_filters'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/filters.rb:697:in `call_filters'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/filters.rb:689:in `perform_action_without_benchmark'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/benchmarking.rb:68:in `perform_action_without_rescue'     /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/benchmarking.rb:68:in `perform_action_without_rescue'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/rescue.rb:199:in `perform_action_without_caching'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/caching.rb:678:in `perform_action'     /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'     /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/query_cache.rb:8:in `cache'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/caching.rb:677:in `perform_action'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:524:in `send'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:524:in `process_without_filters'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/filters.rb:685:in `process_without_session_management_support'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session_management.rb:123:in `process'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:388:in `process'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:171:in `handle_request'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:115:in `dispatch'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:126:in `dispatch_cgi'     /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:9:in `dispatch'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ rails.rb:76:in `process'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ rails.rb:74:in `synchronize'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ rails.rb:74:in `process'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 159:in `process_client'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 158:in `each'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 158:in `process_client'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 285:in `run'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 285:in `initialize'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 285:in `new'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 285:in `run'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 268:in `initialize'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 268:in `new'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb: 268:in `run'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ configurator.rb:282:in `run'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ configurator.rb:281:in `each'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ configurator.rb:281:in `run'     /usr/local/lib/ruby/gems/1.8/gems/swiftiply-0.6.1.1/bin/ mongrel_rails:136:in `run'     /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/ command.rb:212:in `run'     /usr/local/lib/ruby/gems/1.8/gems/swiftiply-0.6.1.1/bin/ mongrel_rails:252     /usr/local/bin/mongrel_rails:19:in `load'     /usr/local/bin/mongrel_rails:19

I'm experiencing similar problems on Ubuntu 8.04

it sucks big time.. has anyone found the cause of this?

"no bj found in [\"/var/www/oc/releases/20080713133248/script\", \"/sbin\", \"/bin\", \"/usr/sbin\", \"/usr/bin\"]"

/usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/util.rb:93:in `find_script' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/bj.rb:12 /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb:43:in `instance_eval' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb:43:in `call' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/attributes.rb:43:in `attribute' (eval):3:in `call' (eval):3:in `script!' (eval):4:in `script' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:120:in `command' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:107:in `start' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/runner.rb:62:in `tickle' /usr/local/lib/ruby/gems/1.8/gems/bj-1.0.1/lib/bj/api.rb:66:in `submit' [RAILS_ROOT]/app/models/user_observer.rb:4:in `after_create' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/observer.rb:171:in `send' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/observer.rb:171:in `update' /usr/local/lib/ruby/1.8/observer.rb:185:in `notify_observers' /usr/local/lib/ruby/1.8/observer.rb:184:in `each' /usr/local/lib/ruby/1.8/observer.rb:184:in `notify_observers' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:309:in `notify' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:296:in `callback' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:221:in `create_without_timestamps' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/timestamp.rb:29:in `create' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2472:in `create_or_update_without_callbacks' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/callbacks.rb:207:in `create_or_update' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2200:in `save_without_validation' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/validations.rb:901:in `save_without_dirty'

Nic Deakins wrote:

Sorry for late reply, but the problem is rather curious...! The catch is in the word 'intermittent'... we had a lot of these errors in the last 2 weeks (when I was away :frowning: ) and users couldn't signup up!

I 'solved' the problem, by restarting THIN servers !?

Could you suggest a possible explanation? So it is not (an obvious) path problem it seems... because now it works... until it stops again...

Thank you! david

Ara Howard wrote:

D. Krmpotic wrote:

Sorry for late reply, but the problem is rather curious...! The catch is in the word 'intermittent'... we had a lot of these errors in the last 2 weeks (when I was away :frowning: ) and users couldn't signup up!

I 'solved' the problem, by restarting THIN servers !?

Could you suggest a possible explanation? So it is not (an obvious) path problem it seems... because now it works... until it stops again...

Thank you! david

it seems perfectly obvious to me - you are starting your servers under two environments: one has bj in the and one does not. a likely scenario is starting from init scripts (machine boot)and from the console. in both cases you have to make sure you path is setup correctly.

-a

Ara, thank you for the answer... but I don't quite get it... are you saying that two Thins are somehow running in different environments? I have to say that I don't see how this could be happening, because it's a Thin cluster and thus all/both instances stem from the same configuration. Please elaborate your thinking a little bit. Thanx again

Ara Howard wrote:

Sorry for late response... You were right... After adding

export PATH=/usr/local/bin:$PATH

on top of /etc/init.d/thin script, BJ works fine after server restart.

Thank you. david

Ara Howard wrote: