cronによる自動実行に挑戦(その1)

会社の窓から見える家のアンテナが折れていることが気になるYu-ichiです:neko:

今回は大苦戦したcronを使った自動実行について・・・です。:hamster_7:

WordPressのRSSを取得する」という記事を前に書きました。
その取得した情報を「MagpieRSS」というRSSパーサーを使って
静的なホームページ上に埋め込んでいたりします。:cat_5:
(使い方などはそのうちご紹介します・・・たぶん)

その時に、埋め込む数が多くなってしまうと・・・
かなりページの表示に時間がかかってしまう、なんともレスポンスの悪いサイトが出来上がります。:cat_6:
でもどうしても使いたい!:kaoemoji2:

そんなときには、取得したRSSをテキストファイルなどに落としてそれを使う方法があります。
表示用のキャッシュを作ってしまうわけですね。:cat_5:

しかし、これにもキャッシュを作るタイミングが必要になってきます。:hamster_4:
ページを表示させたタイミングでは、不特定多数のアクセスが考えられますので
あまり実用的ではありません。:naku:

記事が投稿されたタイミングで・・・という方法もありますが、そこまではわかりません。:naku:

そこで、サーバのcronを使って定期的に書き出してしまう方法をやってみたのですが
四苦八苦したので、忘れないうちにブログにメモっておきます。:kaoemoji3:

1.MagpieRSSで、表示用のキャッシュを出力する記述を追加します。
rss.phpをカスタマイズする必要がありますが、「echo」の部分
   echo “<li><a href=\”$url\”>$title</a></li>\n”;
をコメントアウトして、代わりに「$text」に代入
   $text.= “<li><a href=\”$url\”>$title</a></li>\n”;
とかしておけば大丈夫でしょう。
ここら辺は、表示する項目をタイトルだけじゃなく日付もとか、
最新の5件分だけ表示させたいなど、カスタマイズしているでしょうから、柔軟に対応して下さいw:cat_6:

そのあと、
//ファイルを開く
  $fp=@fopen(“print_cache.txt“,”w”) or die(“ファイルのオープンに失敗しました”);
//ファイルに書く
  fputs($fp,$text);
//ファイルを閉じる
  fclose($fp);

を追加して、表示用キャッシュファイルに書き込みます。:kaoemoji3:
あとはパーミッションの設定とかごにょごにょして・・・準備完了。:hamster_4:

まずは、rss.phpにアクセスして、キャッシュが生成されるかテスト。
あ、print_cache.txtは自分で用意しておいてくださいね。
次にHTMLから、print_cache.txtをインクルードして、表示されるかテストしておきます。

これでなんとか
rss.phpにアクセス:yubiright:キャッシュ生成:yubiright:HTMLにインクルード
という流れが出来たと思います。

さて、いよいよ「rss.php」にアクセスすることで動作した部分を
cronを使って定期的に自動実行させようと思います。:wa-i:

それはまた、次回のお楽しみということで:sayonara:
ランキングクリックしていただけると、やる気がでますのでお願いします!:kaomoji6:
:onegai::yubiright:   :yubileft:

トラックバックURL