use GEARMAN env
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 15 Mar 2011 18:27:34 +0000 (18:27 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 15 Mar 2011 18:27:34 +0000 (18:27 +0000)
gearman_driver.pl
lib/APKPM.pm

index 0a7f874..3094cbb 100755 (executable)
@@ -6,7 +6,7 @@ use lib 'lib';
 
 my $driver = Gearman::Driver->new(
        namespaces => [qw(APKPM)],
-       server     => 'localhost:4730',
+       server     => $ENV{GEARMAN} || 'localhost:4730',
 #      server     => 'localhost:4731,localhost:7003',
        interval   => 3,
 );
index 7535ad6..ecaf568 100644 (file)
@@ -37,4 +37,15 @@ sub search : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
        return $res;
 }
 
+sub poll : Job : MinProcesses(1) : MaxProcesses(1) : Encode(e_json) {
+       my ( $self, $job, $workload ) = @_;
+
+       my $entries = $self->do( 'LDAP_search' => '(&(cn=aa*)(dhcpStatements=*))' ); # FIXME
+       my $ip_username;
+       foreach my $entry ( @$entries ) {
+               $ip_username->{ $entry->{cn} } = $1 if $entry->{dhcpStatements} =~ m/fixed-address\s+/;
+       }
+
+       return $ip_username;
+}
 1;