Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Net::OpenSSH::Parallel documentation

by repellent (Priest)
on Apr 10, 2012 at 07:07 UTC ( #964273=note: print w/ replies, xml ) Need Help??


in reply to Net::OpenSSH::Parallel documentation

The Error Handling section gives some pretty good pointers. For instance, you may want to specify on_error in one of the following ways:

use Net::OpenSSH::Parallel::Constants qw(:error :on_error);

# with a coderef $pssh->add_host($host, user =>'root', passwd=>'access', on_error=> sub { my ($pssh, $label, $error, $task) = @_; $error == OSSH_JOIN_FAILED and do { ... }; $error == OSSH_ABORTED and do { ... }; $error == OSSH_GOTO_FAILED and do { ... }; }, ); # or with constants $pssh->add_host($label, on_error => OSSH_ON_ERROR_IGNORE); $pssh->add_host($label, on_error => OSSH_ON_ERROR_ABORT_ALL);


Comment on Re: Net::OpenSSH::Parallel documentation
Select or Download Code
Re^2: Net::OpenSSH::Parallel documentation
by ashok.g (Beadle) on Apr 10, 2012 at 14:48 UTC
    Thanks for update.

    So, we need to compare each time the $error with some Error constant always?

    Thanks,
    Ashok
      $error should be compared with the Error constants because the documentation mentions that it would be one of the constant values.

      The coderef is just an example. You're free to do whatever you want with it.
Re^2: Net::OpenSSH::Parallel documentation
by ashok.g (Beadle) on Apr 16, 2012 at 22:32 UTC
    Hi,

    The following code gives no result:
    #!/usr/bin/perl use strict; use warnings; use Net::OpenSSH::Parallel; use Net::OpenSSH::Parallel::Constants qw(:error :on_error); my @hosts=('192.168.0.19','192.168.0.18'); my $pssh = Net::OpenSSH::Parallel->new(); my @errors=(OSSH_ON_ERROR_IGNORE,OSSH_ON_ERROR_RETRY,OSSH_ON_ERROR_DON +E,OSSH_ON_ERROR_ABORT,OSSH_ON_ERROR_ABORT_ALL,OSSH_JOIN_FAILED,OSSH_A +BORTED,OSSH_GOTO_FAILED); foreach my $host ( @hosts ) { $pssh->add_host($host,user =>'root',passwd=>'access', on_error +=> sub { my ($pssh, $label, $error, $task) = @_; foreach my $err ( @errors ){ if ( $error =~ m/$err/ ){ print "---$task----\n"; } } } ); }
    But
    #!/usr/bin/perl use strict; use warnings; use Net::OpenSSH::Parallel; use Net::OpenSSH::Parallel::Constants qw(:error :on_error); my @hosts=('192.168.0.19','192.168.0.18'); my $pssh = Net::OpenSSH::Parallel->new(); my @errors=(OSSH_ON_ERROR_IGNORE,OSSH_ON_ERROR_RETRY,OSSH_ON_ERROR_DON +E,OSSH_ON_ERROR_ABORT,OSSH_ON_ERROR_ABORT_ALL,OSSH_JOIN_FAILED,OSSH_A +BORTED,OSSH_GOTO_FAILED); foreach my $host ( @hosts ) { $pssh->add_host($host,user =>'root',passwd=>'access') or print + "Error----\n"; }
    Gives me:
    [root@station20 cgi-bin]# perl NetOpenSSHParallel.pl Error---- Error----

    Still missing anything here??

    Thanks,
    Ashok.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://964273]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2014-07-29 06:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (211 votes), past polls