2011-12-27 5 views
1

저는 Catalyst 스크립트를 작성 중이며 Catalyst :: Plugin :: Cache를 사용하고 있기 때문에 이전 버전의 앱이라고 생각합니다. :: FileCache 옵션을 지원하는 최신 Catalyst :: Plugin :: Cache 대신 FileCache. Makefile.PL을 통해 빌드를 수행 할 때 Catalyst :: Plugin :: Cache :: FileCache가 더 이상 검색 할 수 없기 때문에 cpanm을 사용할 수 없습니다. :-( Catalyst :: Plugin :: Cache :: Cache :: Catalyst :: Plugin :: Cache :: FileCache로 업그레이드하기

내가 촉매 :: 플러그 :: 캐시를 사용하도록 응용 프로그램을 변경할 수도있을 것 같군요

.하지만 나를 위해 문제가 증명하는 그 무엇을 할 수있는 방법을 찾아내는 것은 그러나 나는 찾는 아니에요 명확한 문서, 또는 쉬운 방법은 그것을 할 수 있습니다.

현재 응용 프로그램이 사용 ....

__PACKAGE__->config(name => 'Stats', cache =>{storage=>'./tmp'}); 

http://search.cpan.org/~mramberg/Catalyst-Plugin-Cache-FileCache-0.7/lib/Catalyst/Plugin/Cache/FileCache.pm

가되지 않는 모듈에 대한 문서입니다.

촉매 :: 플러그인의 새로운 문서 :: 캐시가 여기에 ..... 내 모델 중 하나에서 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 소스를 패키지하고 설치할 수는 있지만, 새로운 것을 사용하는 것이 더 쉬울 것이라고 기대하고 있습니다.

감사합니다. 제이니

답변

2
__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 개체가됩니다.