move query generation into httpd code
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 26 Aug 2010 19:29:18 +0000 (19:29 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 26 Aug 2010 19:29:18 +0000 (19:29 +0000)
lib/PXElator/httpd.pm
lib/PXElator/store.pm

index 4e29397..3218391 100644 (file)
@@ -295,7 +295,13 @@ warn "XXX pids = ", dump( $daemons::pids );
 
                my $from_t = $param->{from_t};
 
 
                my $from_t = $param->{from_t};
 
-               store::query( $from_t, sub {
+               my $q;
+               $q->{'package.time'} = { '$lt' => $from_t * 1 } if $from_t;
+#              $q->{'package.name'} = { '$ne' => 'syslogd' };
+               $q->{'package.name'} = { '$ne' => 'dhcpd' };
+#              $q->{'package.name'} = { '$ne' => [ 'dhcpd', 'dnsd' ] };
+               $q->{'tag'} = { '$ne' => 'CRON' };
+               store::query( $q, sub {
                        my $o = shift;
                        my $p = delete( $o->{package} );
                        delete( $o->{_id} );
                        my $o = shift;
                        my $p = delete( $o->{package} );
                        delete( $o->{_id} );
index 5585f66..0f691eb 100644 (file)
@@ -70,13 +70,9 @@ sub audit {
 
 
 sub query {
 
 
 sub query {
-       my ( $from_t, $callback ) = @_;
-       my $q;
-       $q->{'package.time'} = { '$lt' => $from_t * 1 } if $from_t;
-#      $q->{'package.name'} = { '$ne' => 'syslogd' };
-       $q->{'tag'} = { '$ne' => 'CRON' };
+       my ( $q, $callback ) = @_;
        warn "# query ", dump($q);
        warn "# query ", dump($q);
-       $audit->ensure_index({ 'package.name' => 1 });
+       $audit->ensure_index({ $_ => 1 }) foreach keys %$q;
        my $cursor = $audit->query($q)->sort({ 'package.time' => -1 })->limit( 100 );
        while( my $o = $cursor->next ) {
                $callback->( $o );
        my $cursor = $audit->query($q)->sort({ 'package.time' => -1 })->limit( 100 );
        while( my $o = $cursor->next ) {
                $callback->( $o );