Well, after playing with this for days and not getting anywhere I assume it can't be done gracefully.
In order to "prime the cache" I built a script using LWP::Simple to visit the urls that need caching, thus achieving my ultimate result. Hope this helps someone. On Sat, Aug 2, 2008 at 1:24 PM, Kevin Old <[EMAIL PROTECTED]> wrote: > Hi everyone, > > My config for Catalyst::Plugin::Cache is and works well within controllers: > > <cache> > <backend> > cache_root /tmp > default_expires_in 1d > namespace AW > class Cache::FileCache > </backend> > </cache> > > I'm writing a script to "prime the cache" which calculates data and > inserts them into the cache for the controller to find later. > > The problem is, when I instantiate the cache in the script below, and > store the data, my catalyst app doesn't find the content. > > Is there a better way? > > use FindBin; > use Config::Any::General; > use lib "$FindBin::Bin/../lib"; > my $cfg = Config::Any::General->load("$FindBin::Bin/../aw.conf") || die $!; > > sub search { > my ($self, $term, $cache) = @_; > > my %params = %{$cfg->{cache}{backend}}; > my $class = delete $params{class}; > > eval("use $class;"); ## no critic (ProhibitStringyEval) > unless ($cache) { > $cache = $class->new(\%params); > } > > my $cachekey = $term; > $cachekey =~ s/ /_/g; > > my $records; > unless ($records = $cache->get($cachekey)) { > # perform search > $cache->set($cachekey, $records); > } > > return $records; > } > > > When I call the search in my controller I pass it $c->cache: > > my $records = Search->new->search("$term", $c->cache); > > > When I dump the $cache object when run from Catalyst I see it is a > Catalyst::Plugin::Cache::Curried object, but the following dump is > when I run it from a script and $cache is made up from my code inside > search(): > > $VAR1 = bless( { > '_Backend' => bless( { > '_Directory_Umask' => 0, > '_Root' => '/tmp', > '_Depth' => 3 > }, 'Cache::FileBackend' ), > '_Auto_Purge_On_Set' => 0, > '_Default_Expires_In' => '1d', > '_Options_Hash_Ref' => { > 'cache_root' => '/tmp', > 'default_expires_in' => '1d', > 'namespace' => 'AW' > }, > '_Auto_Purge_On_Get' => 0, > '_Namespace' => 'AW' > }, 'Cache::FileCache' ); > > I've got to be doing something wrong, but keep going around in circles. > > Any ideas? > > Thanks, > Kevin > -- Kevin Old [EMAIL PROTECTED] _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/