[Backgroundrb-devel] Problem with blocking workers
Marc at SoftwareHackery.Com
Tue Apr 3 16:02:29 EDT 2007
On Tue, 3 Apr 2007, Christian Schlaefcke wrote:
> Marc Evans schrieb:
>> Based on my experiences, you will have a difficult time doing what you want
>> to do, at least if trying to use backgroundrb. If I were attacking this
>> problem, I probably would use a far less elegant approach, that being to
>> fork a new child in which the query is run.
>> Hopefully, others on this list have a better suggestion than I do...
> Could you provide an example for your suggestion? I played around with ruby
> threads before I switched to backgroundrb. I set up a test where have two
> threads that should download a large file from my server. This should pretty
> much simulate what I want to do at work. It seems to me that one thread works
> after the other and not concurrently. I also encountered the situation where
> none of the thread started (race condition?).
> I would be glad for any hint on this. Hopefully it is possible to solve with
My suggestion was to use Process.fork, e.g. avoid the ruby thread issue.
It's much heavier weight, and requires that you re-invent status tracking
and related mechanisms. That said, I don't believe that you will encounter
the blocking problems observed in thread-style code.
More information about the Backgroundrb-devel