backgroundrb issues

Hi there,

I'm making a site that does a lot of image processing. In order to
avoid timeouts while the clients image is being processed I have used
backgroundrb to process the images.

However, I have a few small issues:

1. Images tend to come in short, intense bursts. I want all the
images to be processed at the same time, but it seems like drb is
processing the images in sequence, with each image waiting for the
next to be processed before it starts processing. Is there any way to
make drb process them all concurrently?

2. Sometimes my worker just doesn't start. I can't find any errors
anywhere. But looking the log indicated that the worker never got the
message to start. I can't see any correlation between image size, type
or anything. It seems pretty random but happens about once every 10
images. If it was a problem with my code I would expect to see an
error message somewhere, but I can't find one. I am assuming that
something goes wrong, or gets lost, and that the error is never
logged.

Does anyone have any suggestions?

Thanks,
Jonzo.

Hi Jonzo,

I'm also using backgroundrb for images processing. Mine are processing
the images one at a time - not really an issue for my application,
after all the application has returned control to the user. I'm not
getting any problems with 'bursts' of activity or missing workers btw
I'm using the latest backgroundrb. Processing time seems very linear.
Deployment OS is Centos, RMagick for processing and Mysql for DB
( images stored in filesystem).

regards
Kevin

Thanks Kevin, it's good to know that it does work for some people!

The bursts of activity isn't actually a bug or problem, it's just the
way my application behaves. Typically people will upload 10 or so
images at once so I am starting that many workers. It just seems like
sometimes the workers don't start, and when one of the workers doesn't
start there is nothing printed out in any log files. no errors, and
none of the log entries I have put in my code either.

Can you see any errors in my logic/code?

Here is my worker code: