我正在编写一个构建脚本来构建Catalyst应用程序,显然它是一个较旧的应用程序,因为它使用的是Catalyst::Plugin::Cache::FileCache,而不是支持FileCache选项的较新的Catalyst::Plugin::Cache。当通过Makefile.PL进行构建时,我不能使用cpanm,因为cpanm不再是可检索的。:-(
然而,找到做到这一点的方法对我来说是个问题。
我想我可以更改应用程序以使用Catalyst::Plugin::Cache,但我发现文档并不清楚,或者没有任何简单的方法来做到这一点。
目前,该应用程序使用的是...
__PACKAGE__->config( name => 'Stats', cache =>{storage=>'./tmp'} );http://search.cpan.org/~mramberg/Catalyst-Plugin-Cache-FileCache-0.7/lib/Catalyst/Plugin/Cache/FileCache.pm是不推荐使用的模块的文档。
Catalyst::Plugin::Cache的新文档在这里.....http://metacpan.org/pod/Catalyst::Plugin::Cache
在我的一个模型里,我有这个……
__PACKAGE__->config(
schema_class => 'Schema::STATS',
connect_info => [
'dbi:ODBC:DSN=....;driver=...;Server=...;database=...;RB_CONFIG=...;',
'USER',
'PASS',
{limit_dialect=>'GenericSubQ',
on_connect_do => ['set dateformat ymd'],
cursor_class => 'DBIx::Class::Cursor::Cached'
}
],
);
sub COMPONENT {
my $self = shift->NEXT::COMPONENT(@_);
$self->schema->default_resultset_attributes({ cache_object => Cache::FileCache->
new({ namespace => 'Schema::STATS' }), cache_for=>3600});
return $self;
}我希望现在对这个应用程序做尽可能少的更改,但有没有人知道有什么更简单的方法可以让我切换到更新的Catalyst::Plugin::Cache进行一些更改?
更糟糕的是,我总是可以打包旧的Catalyst::Plugin::Cache::FileCache源代码并安装它,但我希望有一种更简单的方式来使用新的。
非常感谢!珍妮
发布于 2011-12-28 02:37:20
__PACKAGE__->config(
'Plugin::Cache' => {
backends => {
default => {
class => "Cache::FileCache",
cache_root => "./tmp",
namespace => "Pick Something",
}
}
);删除Plugin::Cache::FileCache并添加Plugin::Cache应该可以让您完成约90%的工作。$c->cache将继续按照您的预期工作,并且它将是一个普通的Cache::FileCache对象。
https://stackoverflow.com/questions/8647818
复制相似问题