sub worker{ my $self = shift; while( my $task = $some_queue->dequeue ) { # do_something() can print debug output to STDOUT my $result = $self->do_something(); my $status = { result => $result, time => time(), worker_id => $self->id}; $self->update_status( $status); } }