From 3f33c62b88feaa4754ab0d229b960a8717ba4a06 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 27 May 2010 17:43:40 +0200 Subject: [PATCH] load storable dump --- lib/MojoFacets/Data.pm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/MojoFacets/Data.pm b/lib/MojoFacets/Data.pm index 41134cb..d37910b 100644 --- a/lib/MojoFacets/Data.pm +++ b/lib/MojoFacets/Data.pm @@ -45,15 +45,18 @@ sub index { ); } -sub _save { - my ( $self, $path ) = @_; - - my $name = $path; +sub _dump_path { + my ( $self, $name ) = @_; my $dir = $self->app->home->rel_dir('data'); $name =~ s/^$dir//; $name =~ s/\/+/_/g; - my $dump_path = '/tmp/mojo_facets.' . $name . '.storable'; + return '/tmp/mojo_facets.' . $name . '.storable'; +} +sub _save { + my ( $self, $path ) = @_; + + my $dump_path = $self->_dump_path( $path ); warn "save loaded to $dump_path"; my $info = $loaded->{$path}; store $info, $dump_path; @@ -78,6 +81,14 @@ sub _load_path { warn "reload $full_path, modified ", time() - $mtime, " seconds ago\n"; } + my $dump_path = $self->_dump_path( $path ); + if ( -e $dump_path ) { + warn "dump_path $dump_path ", -s $dump_path, " bytes loading...\n"; + my $info = retrieve $dump_path; + $loaded->{ $path } = $info; + return; + } + # we could use Mojo::JSON here, but it's too slow # $data = from_json read_file $path; my $data = read_file $full_path; -- 2.20.1