And of course the tubes rock. Now I can build a separate tube for each retry, I can set different priorities for the tubes (so the more fail prone tubes won't block all workers), I can set a deadline for a job to finish and if the worker dies in the middle the job will be returned for the other workers. And best of all, I can monitor all tubes nicely with Graphite.
1. When doing something, increment a counter in Statsd, which will aggregate the values to Graphite. Works well for custom stuff.
2. Write a rake task to poll Beanstalkd with `stats` command, reduce the data and send it straight to Graphite.
I'm really planning to open source the queuing system we're using because it's so simple. It might need a prettier admin view and some nice way of plugging in more monitoring systems before I put it to public.