Launcher::Cascade::Container - a class to run L::C::Base launchers in cascade
use Launcher::Cascade::Base::...; use Launcher::Cascade::Container; my $launcher1 = new Launcher::Cascade::Base:... ...; my $launcher2 = new Launcher::Cascade::Base:... ...; my $launcher3 = new Launcher::Cascade::Base:... ...; my $container = new Launcher::Cascade::Container -launchers => [ $launcher1, $launcher2, $launcher3 ]; $container->run_session();
A L::C::Container object maintains a list of launchers, which are instances of L::C::Base or of its subclasses. The run_session() method let all the launchers run in turn and checks their status until all of them succeed or one of them fails.
L::C::Container
L::C::Base
Returns the list of Launcher::Cascade::Base objects that are to be run in this section.
Launcher::Cascade::Base
When called with a LIST of arguments, this methods also sets the list of launchers to LIST. The argument can also be an ARRAYREF, in which case it will automatically be dereferenced.
All elements in LIST or ARRAYREF should be instances of Launcher::Cascade::Base or one of its subclasses.
Pushes a launcher to list of launchers. All elements in LIST should be instances of Launcher::Cascade::Base or one of its subclasses.
Returns a true status if all the contained launchers are successfull (their is_success() yields true).
Returns a true status if at least one contained launcher has failed (its is_failure() yields true).
Returns 1 if is_success(), 0 if is_failure() and undef if the status is yet undetermined, i.e. some launchers are still running or haven't run yet.
undef
Invokes run(), respectively check_status() on all the contained launchers.
Launches run() and check_status() in loop, until either all the contained launchers are successfull or one of them fails.
Launcher::Cascade, Launcher::Cascade::Base
Cédric Bouvier <cbouvi@cpan.org>
<cbouvi@cpan.org>
Copyright (C) 2006 Cédric Bouvier, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'Cédric'. Assuming CP1252
To install Launcher::Cascade, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Launcher::Cascade
CPAN shell
perl -MCPAN -e shell install Launcher::Cascade
For more information on module installation, please visit the detailed CPAN module installation guide.