[Backgroundrb-devel] Method hangs for the first time if called synchronously

Csongor Gyuricza csgyuricza at gmail.com
Tue Jul 15 15:51:00 EDT 2008


This is my first post so I apologize if I am not using the expected
conventions.
With backgroundrb version 1.0.4 and Rails version 2.1.0

The problem happens when you call a method for the first time without using
async_

Steps to reproduce:

1) Create a new worker with a simple method, that just has
logger.info'blabla'. For the example the method is called "ppp" and
worker is
"test_manager"
2) Start backgroundrb and open the rails console

Type in:

>> worker = MiddleMan.worker(:test_manager_worker)
=> #<BackgrounDRb::Rai........ >>
>> worker.async_ppp
=> nil
I see 'blabla' in the log
>> worker.ppp
=> true
I see 'blabla' in the log again

Everything works until now.

Now to reproduce the problem:

1) Exit console
2) Restart backgroundrb and reopen rails console

Type in:

>> worker = MiddleMan.worker(:test_manager_worker)
=> #<BackgrounDRb::Rai........ >>
>> worker.ppp

It hangs and never returns. I see nothing in the log. When I abort I get:

CIRB::Abort: abort then interrupt!!
from /opt/local/lib/ruby/1.8/irb.rb:81:in `irb_abort'
from /opt/local/lib/ruby/1.8/irb.rb:243:in `signal_handle'
from /opt/local/lib/ruby/1.8/irb.rb:66:in `start'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:157:in
`call'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:157:in
`select'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:157:in
`read_from_bdrb'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:171:in
`send_request'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:171:in
`synchronize'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_connection.rb:171:in
`send_request'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/rails_worker_proxy.rb:70:in
`send'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/rails_worker_proxy.rb:70:in
`invoke_on_connection'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/rails_worker_proxy.rb:57:in
`run_method'
from
/Users/csgyuricza/Sites/Automation/vendor/plugins/backgroundrb/lib/backgroundrb/rails_worker_proxy.rb:33:in
`method_missing'
from (irb):2

Then when I exit the console, I see "blabla" in the log.

Is this a bug? Another rails user was able to reproduce this same problem.
Is this a bug or are we missing something?
This is not only happening in the console, it happens in my application as
well. I used the console as an example as it is easier to explain.

Thank you,

Csongor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/backgroundrb-devel/attachments/20080715/4b5853d1/attachment.html>


More information about the Backgroundrb-devel mailing list