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). WWW: http://search.cpan.org/dist/POE-Component-DBIAgent/