3 use base qw(Gearman::Driver::Worker);
6 use Data::Dump qw(dump);
9 with 'APKPM::Gearman::Client';
10 with 'APKPM::Gearman';
12 use lib '/opt/managment_tools/lib';
15 sub prefix { 'VOICE_' }
17 sub info : Job : Encode(e_json) : MinProcesses(0) {
18 my ( $self, $job, $workload ) = @_;
19 warn "# workload = ", dump $workload;
21 return { error => "invalid workload", expected => '385xxxxxx', workload => $workload } if $workload !~ m/^385/;
25 my $voice=H1::VOICE->new($self->config('srukey'),$self->config('saukey'),$self->config('sshid'));
27 my $sau = $self->config('sau');
29 $voice->connectSRU( $sau->[0] );
30 my %sru = $voice->searchSRU($broj);
31 warn "# SRU ",dump( %sru );
33 return { broj => $workload, error => "no serverid" } unless defined $sru{serverid};
35 $voice->connectSAU( $sau->[ $sru{serverid} ] );
36 my %sau = $voice->searchSAU($sru{alias});
38 $self->do_background_json( 'Store_insert', {
40 timestamp => $self->datetime_now,
43 serverid => $sru{serverid},
46 return { broj => $workload, sru => \%sru, sau => \%sau };