I've got handlers running slow long running backend jobs.  They start up
and return a response and close the connection, and then they waits for
their slow jobs to finish before they goes back to conn.recv.

While a slow job is running other handlers are connected to the queues and
receiving.  I'm seeing that the distribution of the requests still seems to
round robin into the busy handler which is not even at conn.recv.  The
other two handlers are sitting there waiting.  They are fast and not busy
and waiting, and they will each take a request, and then mongrel2 stops
like its trying to direct the next request in a round robin fashion to the
busy handler, which is not even at conn.recv, but instead is busy doing a
big backend job.

What's going on here?  How should I debug this?

I need the requests to go the the ready handlers and not return to the slow
handler until its back at conn.recv.

Reply via email to