The DBIAgent is your answer to non-blocking DBI in POE.

It fires off child processes (configurable, defaults to 3) and feeds
database queries to it via two-way pipe (or however Wheel::Run is able
to manage it).
