「xhldのせいでトップページが重い」
良く聞く言葉ですが、そのほとんどは、xhldの使い方を間違っているだけだと思います。
確かにXoopsHeadlineでは、表示の都度にXMLパースするなんておかしな作りになっているため、取得動作の有無にかかわらず「重い」のですが、xhldはすでに処理済みのデータを取り出すだけなので、基本的には「軽い」部類のモジュールです。
もちろん、サイトアクセスと同時に取得動作があれば、当然重く感じるでしょう。xhldの作りがどうであれ、キャッシュの切れたサイト数ものRSS/Atomを取得するのですから、その分の時間がかかるのは当たり前です。
でも、サイトアクセスが取得動作のトリガーとなる、ということ自体が本来おかしいのです。
実は、xhldにはcacheをアップデートする機能が備わっています。お使いのホスティングサービスが、cronを許可していれば、このようなcrontabを登録してください。(もちろん、ファイルのパスはご自身の環境に合わせて修正してください)
5 * * * * cd /home/yourhome/public_html/modules/xhld0/include;/home/yourhome/public_html/modules/xhld0/include/update_cache.sh >/dev/null 2>&1
GIJOE wrotes:
そのモジュールの作り方次第でしょう。
強制的にキャッシュを作り直す機能を提供していれば、ドキュメントにその旨が書いてありそうです。なければ自分で作るか、誰かにお願いするしかないでしょう。
sarah wrotes:
ところで、この update_cache.sh を参考にして、他のRSS取得モジュール(例えばお天気モジュールなど)にも応用することは可能でしょうか?
#モジュールのphpファイルはいじらずにupdate_cache.sh の中だけで実装できるのでしょうか?
GIJOE wrotes:
普通に考えればエラーが出ているんでしょう。
>/dev/null 2>&1 の部分を書き換えて、エラーを出力してみてください。