jsRSS++ 2.0β、そのままではサーバに負荷をかける不具合あるよ。
スポンサードリンク
http://cl.cocolog-nifty.com/dtp/2004/10/i_knowrss.html#c885236
I know. 開発です。
ご利用ありがとうございます。
jsrss++ を設置しているサーバーから平均して 5 分間隔で rss が取得されています。間隔にはばらつきがありますので、表示の度に取得されていると思われるのですがどうでしょう?
今一度設定や設置状況をご確認ください。
とのことで、調べていたら、jsRSS++ 2.0β [daikoku-ya.org] に不具合があることが発見されました。
不具合
設定した時間よりも頻繁に http で RSS を取得する。具体的には、デフォルトの 60 分で設定してあっても、アクセス間隔が120秒以上空くと、http で RSS を取得する。
それによって、http 取得先のサーバに負荷がかかり、迷惑をかけることになる。
原因
jsRSS++ 2.0β 内にミスが見つかりました。
my $check = 60; # 更新間隔(分)とありますが、スクリプトのなかでの時間の単位は、秒なので、
my $checktime = 60 * $check;としています。しかし、
if(-e $file && ($last_mod + $check) > $now)となっているので、ダメダメです。
対策
my $last_mod = (stat $file)[9] + $check;
if(-e $file && ($last_mod + $check) > $now)
を
my $last_mod = (stat $file)[9];
if(-e $file && ($last_mod + $checktime) > $now)
と直します。
補足
オリジナルは、
my $now = (time);となっています。変数名から推測するに、2回 $check を足す必要はないので、2箇所直しました。大黒屋本舗様には、Trackback しておきました。
my $checktime = 60 * $check;
my $last_mod = (stat $file)[9] + $check;
if(-e $file && ($last_mod + $check) > $now)
{...
パッチ:jsrss2beta.patch (533 byte)
スポンサードリンク
トラックバック(1)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/460
I know. の出力する RSS を 大黒屋本舗 さんの jsrss++ で使用した際に特定条件下で文字化けが起こるようです。jsrss++ で使用されている... 続きを読む
コメントする