Restarting cluster without killing in progress file uploads

Hello,

I have a cluster of three Mongrels running behind Pound. All is running
well except when I restart the cluster (mongrel_rails cluster::restart)
any in progress file uploads (handled through mongrel_upload_progress)
stop uploading. That is, if I’m uploading a file (via a web app being
served by the mongrel cluster) during a restart, my browser will
indefinitely pause as if it is still uploading the file but I can see
from my computer’s bandwidth usage that the file has indeed stopped
uploading. I tried the rolling restart technique discussed in the
following post but the result is the same:

http://www.ruby-forum.com/topic/130285

Anyone have any ideas how this can be solved? Or please let me know if
you need more information. Thanks!

I can’t think of a solution to the problem if you need to use
mongrel_upload_progress as the mongrel that is handling the upload is
the one you are restarting.

If you can avoid using an upload monitor then i suggest letting nginx
handle your uploads, it can be configured to try every backend mongrel
in sequence and only drop the upload if all of them are out of service.

Cheers

Dave

Thanks Dave. I switched from Pound and mongrel_upload_progress to Nginx
and its upload progress module as described at the following address:

http://nginx.fehot.com/NginxHttpUploadProgressModule

It’s working really well. Thanks again.

Ben