App-MultiModule

 view release on metacpan or  search on metacpan

t/repeated-task-crash.t  view on Meta::CPAN

my $crash = sub {
    sleep 12; #give time for Router to route
    my $crash_message = Storable::dclone $OtherExternalModule->{match};
    $crash_message->{crash_me} = 1;
    IPC::Transit::send(
        qname => $OtherExternalModule->{task_name},
        message => $crash_message
    );
};

#crash it and validate it's back several times
for (1..10) {
    my $rand = int rand 4;
    print STDERR "\$rand=$rand\n";
    ok $crash->() if $rand == 0;
    print STDERR '$OtherExternalModule->send();' . "\n";
    $OtherExternalModule->send();
    ok $crash->() if $rand == 1;
    print STDERR '$OtherModule->send();' .  "\n";
    $OtherModule->send();
    ok $crash->() if $rand == 2;



( run in 0.233 second using v1.01-cache-2.11-cpan-4d50c553e7e )