Merge branch 'devel' of h1dev:/srv/APKPM/
[APKPM.git] / lib / APKPM / VOICE.pm
1 package APKPM::VOICE;
2
3 use base qw(Gearman::Driver::Worker);
4 use Moose;
5 use Time::HiRes;
6 use Data::Dump qw(dump);
7
8 with 'APKPM::Config';
9 with 'APKPM::Gearman::Client';
10 with 'APKPM::Gearman';
11
12 use lib '/opt/managment_tools/lib';
13 use H1::VOICE;
14
15 sub prefix { 'VOICE_' }
16
17 sub info : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
18         my ( $self, $job, $workload ) = @_;
19         warn "# workload = ", dump $workload;
20
21         return { error => "invalid workload", expected => '385xxxxxx', workload => $workload } if $workload !~ m/^385/;
22
23         my $broj = $workload;
24
25         my $voice=H1::VOICE->new($self->config('srukey'),$self->config('saukey'),$self->config('sshid'));
26
27         my $sau = $self->config('sau');
28
29         $voice->connectSRU( $sau->[0] );
30         my %sru = $voice->searchSRU($broj);
31         warn "# SRU ",dump( %sru );
32
33         return { broj => $workload, error => "no serverid" } unless defined $sru{serverid};
34
35         $voice->connectSAU( $sau->[ $sru{serverid} ] );
36         my %sau = $voice->searchSAU($sru{alias});
37
38         return { broj => $workload, sru => \%sru, sau => \%sau };
39 }
40
41 1;