Top > MovableType > cache patch for mt-bk1.pl

キャッシュするように修正を加えてみました。

--- mt-bk1.pl.orig      Thu Jan  1 14:06:43 2004
+++ mt-bk1.pl   Thu Jan  1 15:50:58 2004
@@ -25,6 +25,8 @@
 <\/div>
 __EOF__
 
+my $CACHE_DIR = "/path/to/bk1_cache";
+my $EXPIRE = 24; # hour(s)
 
 ;#====================================================================
 use strict;
@@ -46,16 +48,17 @@
 sub to_html {
        my $bibid = shift;
        my $url = "http://cgi.bk1.jp/xml.cgi?bibid=$bibid&aid=$AID";
+       my $cache = "$CACHE_DIR/$bibid.xml";
 
        ;# Get XML
-       my $ua = new LWP::UserAgent;
-       $ua->agent("mt-bk1");
-       my $http_request = new HTTP::Request('GET', $url);
-       my $http_response = $ua->request($http_request);
-       my $content = $http_response->{'_content'};
+       unless (-f $cache && -M _ < ($EXPIRE / 24)) {
+               my $ua = new LWP::UserAgent;
+               $ua->agent("mt-bk1");
+               $ua->mirror($url, $cache);
+       }
 
        my $ProductInfo;
-       $ProductInfo = XMLin($content);
+       $ProductInfo = XMLin($cache);
 
        my $ProductName   = $ProductInfo->{Details}->{ProductName};
        my $SeriesName    = $ProductInfo->{Details}->{SeriesName};

mirror() を使ったキャッシュは WEB+DB Vol.18 の宮川さんの記事を参考にしました。

TrackBack(1)
TrackBack URL for this entry: http://www.asmate.net/mt/mt-tb.cgi/55
mt-bk1キャッシュ対応
Excerpt: さっそくですが、Yutaka@smate.NETさんにキャッシュに対応していただきました(感謝!!) cache patch for mt-bk1.pl てことでバージョンアップです。最新版は以下からどうぞ。 mt-bk1.pl 以前のバージョンはこちら。 bk1から取得したXMLデータを指定時間だけキャッシュ...
Weblog: smashmedia
Tracked: January 1, 2004 05:49 PM
Comments (1)

修正、ありがとうございます。
さっそく配布版に反映させていただきました。
今後ともどうぞよろしくお願いいたします。

Posted by 河野 at 2004/01/01 17:52
コメントする









名前、アドレスを登録しますか?







Since 2003.6.19, Yutaka@smate.NET <yutaka@asmate.net>. Powered by MT 2.64