H1::Voice worker
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 14 Mar 2011 21:26:42 +0000 (22:26 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 14 Mar 2011 21:26:42 +0000 (22:26 +0100)
lib/APKPM/VOICE.pm [new file with mode: 0644]
t/VOICE.t [new file with mode: 0755]

diff --git a/lib/APKPM/VOICE.pm b/lib/APKPM/VOICE.pm
new file mode 100644 (file)
index 0000000..69aaad3
--- /dev/null
@@ -0,0 +1,39 @@
+package APKPM::VOICE;
+
+use base qw(Gearman::Driver::Worker);
+use Moose;
+use Time::HiRes;
+use Data::Dump qw(dump);
+
+with 'APKPM::Config';
+with 'APKPM::Gearman::Client';
+with 'APKPM::Gearman';
+
+use lib '/opt/managment_tools/lib';
+use H1::VOICE;
+
+sub prefix { 'VOICE_' }
+
+sub info : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
+       my ( $self, $job, $workload ) = @_;
+       warn "# workload = ", dump $workload;
+
+       return { error => "invalid workload", workload => $workload } if $workload !~ m/^385/;
+
+       my $broj = $workload;
+
+       my $voice=H1::VOICE->new($self->config('srukey'),$self->config('saukey'),$self->config('sshid'));
+
+       my $sau = $self->config('sau');
+
+       $voice->connectSRU( $sau->[0] );
+               my %sru = $voice->searchSRU($broj);
+       warn "# SRU ",dump( %sru );
+
+       $voice->connectSAU( $sau->[ $sru{serverid} ] );
+        my %sau = $voice->searchSAU($sru{alias});
+
+       return { broj => $workload, sru => \%sru, sau => \%sau };
+}
+
+1;
diff --git a/t/VOICE.t b/t/VOICE.t
new file mode 100755 (executable)
index 0000000..d58d0f7
--- /dev/null
+++ b/t/VOICE.t
@@ -0,0 +1,15 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+use Test::More tests => 3;
+use Data::Dump qw(dump);
+
+use lib 'lib';
+
+use_ok 'APKPM::VOICE';
+
+ok my $o = APKPM::VOICE->new, 'new';
+
+ok my $r = $o->info( 'job', '38547431277' ), 'info';
+diag dump($r);