/[pxelator]/lib/PXElator/store.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/store.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 487 by dpavlin, Sat Jan 23 20:47:17 2010 UTC revision 505 by dpavlin, Wed Jul 21 15:34:34 2010 UTC
# Line 5  use strict; Line 5  use strict;
5    
6  use POSIX;  use POSIX;
7  use Time::HiRes qw/time/;  use Time::HiRes qw/time/;
8    use Data::Dump qw(dump);
 #use CouchDB;  
9    
10  use MongoDB;  use MongoDB;
11    
12  my $conn = MongoDB::Connection->new;  our $audit;
13  my $db = $conn->get_database( 'pxelator' );  
14  our $audit = $db->get_collection( 'audit' );  eval {
15            my $conn   = MongoDB::Connection->new;
16            my  $db    = $conn->get_database( 'pxelator' );
17            $audit = $db->get_collection( 'audit' );
18    };
19    warn "ERROR: no store for audit: $@" if $@;
20    
21    
22  sub audit {  sub audit {
# Line 56  sub audit { Line 60  sub audit {
60  #       CouchDB::_store_audit( "$time.$package.$url" => $data );  #       CouchDB::_store_audit( "$time.$package.$url" => $data );
61    
62  #       $data->{_id} = "$time.$package.$url";  #       $data->{_id} = "$time.$package.$url";
63          $audit->insert( $data );  #
64            if ( $audit ) {
65                    $audit->insert( $data );
66            } else {
67                    warn "AUDIT ",dump($data);
68            }
69  }  }
70    
 use Data::Dumper;  
71    
72  sub query {  sub query {
73          my $callback = shift;          my ( $from_t, $callback ) = @_;
74          my $cursor = $audit->query->sort({ '$natural' => -1 })->limit( 25 );          my $q;
75            $q->{'package.time'} = { '$lt' => $from_t * 1 } if $from_t;
76    #       $q->{'package.name'} = { '$ne' => 'syslogd' };
77            $q->{'tag'} = { '$ne' => 'CRON' };
78            warn "# query ", dump($q);
79            $audit->ensure_index({ 'package.name' => 1 });
80            my $cursor = $audit->query($q)->sort({ 'package.time' => -1 })->limit( 100 );
81          while( my $o = $cursor->next ) {          while( my $o = $cursor->next ) {
 #               $callback->( $o );  
 warn Dumper( $o );  
82                  $callback->( $o );                  $callback->( $o );
83          }          }
84  }  }

Legend:
Removed from v.487  
changed lines
  Added in v.505

  ViewVC Help
Powered by ViewVC 1.1.26