sub MyApp::DBFetch::WorkQ { my( $qin, $qout ) = @_; my %stash; while( defined( my $argRef = $qin->dequeue ) ) { my $action = delete $argRef->{action}; if( $action eq 'connect' ){ $stash{dbi} = DBI->...; $qout->enqueue( { status => 'you are connected' } ); } } }