To be honest, if your database has decent queuing facilities, it isn’t a bad programming strategy to use the database as a tuple space for piranha processes. You don’t run afoul of corporate architecture teams for using ‘new’ software and you can devolve a lot of business processes into small, independent programs. It also provides an easy way to upgrade parts of your software by freezing a queue table for reads but not writes.