/[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 483 by dpavlin, Sat Jan 23 18:58:18 2010 UTC revision 522 by dpavlin, Thu Aug 26 19:29:18 2010 UTC
# Line 4  use warnings; Line 4  use warnings;
4  use strict;  use strict;
5    
6  use POSIX;  use POSIX;
7    use Time::HiRes qw/time/;
8    use Data::Dump qw(dump);
9    
10  use CouchDB;  use MongoDB;
11    
12  =for MongoDB  our $audit;
13    
14  use MongoDB;  eval {
15  my $conn = MongoDB::Connection->new;          my $conn   = MongoDB::Connection->new;
16  my $db = $conn->get_database( 'pxelator' );          my  $db    = $conn->get_database( 'pxelator' );
17  our $audit = $db->get_collection( 'audit' );          $audit = $db->get_collection( 'audit' );
18    };
19    warn "ERROR: no store for audit: $@" if $@;
20    
 =cut  
21    
22  sub audit {  sub audit {
23          my $data = pop @_;          my $data = pop @_;
# Line 54  sub audit { Line 57  sub audit {
57          $time = strftime("%Y-%m-%d.%H:%M:%S", localtime $time);          $time = strftime("%Y-%m-%d.%H:%M:%S", localtime $time);
58          my $package = $caller[0];          my $package = $caller[0];
59    
60          CouchDB::_store_audit( "$time.$package.$url" => $data );  #       CouchDB::_store_audit( "$time.$package.$url" => $data );
61    
62  #       $data->{_id} = "$time.$package.$url"; $audit->insert( $data );  #       $data->{_id} = "$time.$package.$url";
63    #
64            if ( $audit ) {
65                    $audit->insert( $data );
66            } else {
67                    warn "AUDIT ",dump($data);
68            }
69  }  }
70    
71    
72    sub query {
73            my ( $q, $callback ) = @_;
74            warn "# query ", dump($q);
75            $audit->ensure_index({ $_ => 1 }) foreach keys %$q;
76            my $cursor = $audit->query($q)->sort({ 'package.time' => -1 })->limit( 100 );
77            while( my $o = $cursor->next ) {
78                    $callback->( $o );
79            }
80    }
81    
82  1;  1;

Legend:
Removed from v.483  
changed lines
  Added in v.522

  ViewVC Help
Powered by ViewVC 1.1.26