igoogle(google gadget)のgadgets.io.makeRequestの更新間隔が効いていない気がする

5分くらいで更新して欲しいんだが、更新が気まぐれすぎる。
googleのドキュメントには
リモート コンテンツの処理 - Gadgets API - Google Code

キャッシュの更新


makeRequest() を使用して、1 時間に複数回更新されるコンテンツ (フィード データなど) をフェッチしている場合、最新の更新を取得していない可能性があります。ガジェットの実行を速くするために、結果がキャッシュされているからです。ガジェットで必ず最新のデータを取得したい場合は、refreshInterval パラメータを使用して、キャッシュを回避し、指定した間隔で更新させることができます。つまりキャッシュは X 秒ごとに更新されます (X = refreshInterval)。

makeRequest に対する呼び出しは、デフォルトでキャッシュされます。下記の例のラッパー関数は makeRequest の呼び出しと同じパラメータを取りますが、もう 1 つ別に refreshInterval というパラメータを取ります。このパラメータを使用して、キャッシュの期間を指定できます。

function makeCachedRequest(url, callback, params, refreshInterval) {
  var ts = new Date().getTime();
  var sep = "?";
  if (refreshInterval && refreshInterval > 0) {
    ts = Math.floor(ts / (refreshInterval * 1000));
  }
  if (url.indexOf("?") > -1) {
    sep = "&";
  }
  url = [ url, sep, "nocache=", ts ].join("");
  gadgets.io.makeRequest(url, response, params);
}

キャッシュは便利な機能ですが、あまり頻繁に更新するとパフォーマンスが低下するおそれがあるので注意してください。キャッシュを行うことで、データをすばやくフェッチできるようになります。また、リモート コンテンツをホストするサードパーティ サーバーへの負荷を軽減することもできます。refreshInterval: 0 を使用すると、キャッシュが完全に無効になってしまいます。このような設定はできる限り避けてください。作成したガジェットのページ ビューが 1 日に何百万もある場合、サーバーに何百万ものリクエストを送信したり、キャッシュをオフにしたりすると、ガジェットのパフォーマンスが低下するだけでなく、ガジェットにデータを提供するサーバーの負荷が高くなりすぎます。

デフォルトではコンテンツは毎時間更新されるので、間隔を 1 時間以上に指定しては意味がありません。refreshInterval の推奨範囲は、60 以上、3600 未満です。

とあるので指定通りにやっても上手く行かず。ていうか、何も変わらず。

urlパラメータのnocacheで渡す数字もいまいちピンと来ないし。そもそもそこで渡すものなのだろうか。

で、今回の問題もいろいろと探し回ったのだが、google gadget作ってる人って少ないな、と絶望的な気分になる。間違った電車に乗ってしまったのだろうか。

その後に気づいたこと:
どうやら構造が間違ってたみたい
まちがい

        function disp(){
             gadgets.util.registerOnLoadHandler(mainFunc());
	     setTimeout("disp()", 300000);
        }
        disp();

せいかい

        function disp(){
            mainFunc();
            setTimeout("disp()", 300000);
        }
        gadgets.util.registerOnLoadHandler(disp);

gadgets.util.registerOnLoadHandlerは1回呼ぶだけでいいみたいだね。
冷静に考えると、そりゃそうだよな。