my ( $self, $job, $workload ) = @_;
warn "# workload = ", dump $workload;
my $cpeip = shift @$workload;
+ my $username = shift @$workload;
my $cpeconnect=H1::Davolink->new($cpeip,$self->config('iadusername'),$self->config('iadpasswd'));
$cpeconnect->connect();
- my $ret = { ip => $cpeip };
+ my $ret = { ip => $cpeip, username => $username };
foreach my $param ( @$workload ) {
if ( $param =~ m/uptime/i ) {
$ret->{UPTIME} = $cpeconnect->custom("cat /proc/uptime");
sub ADSL : Job : MinProcesses(1) : MaxProcesses(5) : Decode(d_json) {
my ( $self, $job, $workload ) = @_;
- warn "# ADSL ",dump($workload);
+
my $dbh = DBI->connect_cached('DBI:Pg:dbname=apkpm','','', {
RaiseError => 1,
AutoCommit => 1,
});
- my @c = keys %$workload;
+ my $h = $workload->{ADSL} || die "no ADSL in ",dump $workload;
+ foreach my $c ( qw(ip username) ) {
+ $h->{$c} = $workload->{$c} || die "no $c in ",dump $workload;
+ }
+
+ warn "# ADSL ", dump $h;
+
+ my @c = keys %$h;
my $sql = 'INSERT INTO adsl (' . join(',',@c) . ') values (' . join(',', map { '?' } 0 .. $#c) . ')';
warn $sql;
my $sth = $dbh->prepare($sql);
- $sth->execute( map { $workload->{$_} } @c );
+ $sth->execute( map { $h->{$_} } @c );
}
1;