Looks similar to what Kue http://learnboost.github.com/kue/ already does. I wish node had less fragmentation and more consolidation on these types of libraries/frameworks.
Nice article breaking down the features and patterns of queue/task engines if nothing else!
The article's statement "Putting them within a transaction is also no good, as you can't read and make decisions on the result (is the result of the select null?)" is not correct. You can implement task assignment in a SERIALIZABLE-capable RDBMS using a single "UPDATE ... SET assigned_to = 'me' WHERE assigned_to IS NULL" statement, or the equivalent of "SELECT FOR UPDATE" at the beginning of a transaction in order to examine the row in advance.
Nice article breaking down the features and patterns of queue/task engines if nothing else!