Autocache

 view release on metacpan or  search on metacpan

lib/Autocache/Strategy/Refresh.pm  view on Meta::CPAN

package Autocache::Strategy::Refresh;

use Any::Moose;

extends 'Autocache::Strategy';

use Autocache;
use Carp;
use Autocache::Logger qw(get_logger);
use Scalar::Util qw( weaken );

#
# Refresh Strategy - freshen content regularly in the background
#

#
# refresh_age : content older than this in seconds will be refreshed in the
# background by a work queue
#
has 'refresh_age' => (

lib/Autocache/Strategy/Refresh.pm  view on Meta::CPAN

    get_logger()->debug( "set " . $req->name );
    return $self->base_strategy->set( $req, $rec );
}

sub _refresh_task
{
    my ($self,$req,$rec) = @_;

    get_logger()->debug( "_refresh_task " . $rec->name );

    weaken $self;

    return sub
    {
        get_logger()->debug( "refreshing record: " . $rec->to_string );
        my $fresh_rec = $self->create( $req );
        $self->set( $fresh_rec );
    };
}

#



( run in 0.710 second using v1.01-cache-2.11-cpan-65fba6d93b7 )