our $VERSION = '0.00';
+with 'APKPM::Gearman';
+
sub prefix { '' }
sub process_name {
return "$orig ($job_name)";
}
-sub poll : Job : MinProcesses(1) : MaxProcesses(5) : Encode : Decode {
+sub poll : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) : Decode(d_json) {
my ( $self, $job, $workload ) = @_;
warn "# poll $job ", dump($workload);
}
-sub encode {
- my ( $self, $result ) = @_;
- warn "# encode ",dump $result;
- return JSON::XS::encode_json($result);
-}
-
-sub decode {
- my ( $self, $workload ) = @_;
- warn "# decode ", dump $workload;
- return JSON::XS::decode_json($workload);
-}
-
1;
use base qw(Gearman::Driver::Worker);
use Moose;
use Time::HiRes;
-use JSON::XS;
use Data::Dump qw(dump);
with 'APKPM::Config';
+with 'APKPM::Gearman';
require RPC::XML;
require RPC::XML::Client;
warn "# begin ", dump( $workload );
}
-sub username : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
+sub username : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
my ( $self, $job, $workload ) = @_;
warn "# username ",dump($workload);
my $cli = RPC::XML::Client->new($self->config('crmxml'));
return ref $resp ? $resp->value->[0] : { error => $resp };
}
-sub encode {
- my ( $self, $result ) = @_;
- my $json = JSON::XS::encode_json($result);
- warn "## ", dump $json;
- return $json;
-}
-
1;
use base qw(Gearman::Driver::Worker);
use Moose;
use Time::HiRes;
-use JSON::XS;
use Data::Dump qw(dump);
with 'APKPM::Config';
with 'APKPM::Gearman::Client';
+with 'APKPM::Gearman';
use lib '/opt/managment_tools/lib';
use H1::Davolink;
sub prefix { 'Davolink_' }
-sub info : Job : MinProcesses(1) : MaxProcesses(5) : Decode : Encode {
+sub info : Job : MinProcesses(1) : MaxProcesses(5) : Decode(d_array) : Encode(e_json) {
my ( $self, $job, $workload ) = @_;
warn "# workload = ", dump $workload;
my $cpeip = shift @$workload;
return $ret;
}
-sub decode {
- my ( $self, $result ) = @_;
- warn "# decode ", dump($result);
- return [ split(/\s+/,$result) ];
-}
-
-sub encode {
- my ( $self, $result ) = @_;
- warn "# encode ",dump $result;
- return JSON::XS::encode_json($result);
-}
-
1;
--- /dev/null
+package APKPM::Gearman;
+
+use Moose::Role;
+
+use Data::Dump qw(dump);
+use JSON::XS;
+
+sub e_json {
+ my ( $self, $result ) = @_;
+ warn "# e_json ", dump $result;
+ return JSON::XS::encode_json($result);
+}
+
+sub d_json {
+ my ( $self, $workload ) = @_;
+ warn "# d_json ", dump $workload;
+ return JSON::XS::decode_json($workload);
+}
+
+sub d_array {
+ my ( $self, $result ) = @_;
+ warn "# d_array ", dump($result);
+ return [ split(/\s+/,$result) ];
+
+}
+
+1;
use base qw(Gearman::Driver::Worker);
use Moose;
use Time::HiRes;
-use JSON::XS;
use Data::Dump qw(dump);
with 'APKPM::Config';
+with 'APKPM::Gearman';
use Net::LDAP;
return "$orig ($job_name)";
}
-sub search : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
+sub search : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
my ( $self, $job, $workload ) = @_;
my $filter = $workload =~ m/\d+\.\d+\.\d+\.\d+/ ?
return $entries;
}
-sub encode {
- my ( $self, $result ) = @_;
- my $json = JSON::XS::encode_json($result);
- warn "## ", dump $json;
- return $json;
-}
-
1;
use base qw(Gearman::Driver::Worker);
use Moose;
use Time::HiRes;
-use JSON::XS;
use Data::Dump qw(dump);
use Net::Ping;
+with 'APKPM::Gearman';
+
sub prefix { '' }
sub process_name {
my $p = Net::Ping->new;
$p->hires;
-sub ping : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
+sub ping : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
my ( $self, $job, $workload ) = @_;
warn "# ping $job $workload\n";
my ( $ok, $rtt, $ip ) = $p->ping( $workload );
return { ip => $ip, rtt => $rtt };
}
-sub encode {
- my ( $self, $result ) = @_;
- warn "# encode ",dump $result;
- return JSON::XS::encode_json($result);
-}
-
1;
use base qw(Gearman::Driver::Worker);
use Moose;
use Time::HiRes;
-use JSON::XS;
use Data::Dump qw(dump);
use DBD::Pg;
+with 'APKPM::Gearman';
+
sub prefix { 'Store_' }
sub process_name {
return "$orig ($job_name)";
}
-sub ADSL : Job : MinProcesses(1) : MaxProcesses(5) : Decode {
+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','','', {
$sth->execute( map { $workload->{$_} } @c );
}
-sub decode {
- my ( $self, $workload ) = @_;
- warn "# decode ", dump $workload;
- return JSON::XS::decode_json($workload);
-}
-
1;