TheSchwartz would be great but it looks dead. Brad Fitzpatrick is in the valhalla of Google, last release was in 2008 and cpantesters report more failures than successes.
gearman is not reliable. It won't retry jobs on another worker nor workers can return failed jobs.
Resque is too ruby-specific.
beanstalkd looks almost fine, but it does not distinguish between job types. You cannot easily register one worker for sending emails and another worker for converting images.
Should I start looking into various Java-based monstrosities like ActiveMQ?