ホーム > フォーラム > 質問箱 > X2.0.16a JP > X2.0.16a JP d3pipesの更新時に新着が表示されない

X2.0.16a JP d3pipesの更新時に新着が表示されない
投稿者: siziru | 投稿日時: 2011/6/28 11:52 | 閲覧: 19821回
siziru

現在ブログのポータルサイトを運営しており、各ブログからのRSS取得に「d3pipes」を利用しています。

総ブログ数が180件ほどなのですが、1時間に1回のRSS巡回に5~10分ほどかかります。
その際にd3pipesの「新着一覧」が一時的に見れなくなります。(恐らく処理中のため表示まで時間がかかる)

新着記事の取得中も更新前の記事が表示され、全てのページを読み込み終わってからキャッシュを入れ替えるような方法はないのでしょうか?

新着記事ブロックは非同期ブロック、各パイプの表示数は1件です。
ブロックでの指定で180件のパイプ指定ができなかったため、テンプレートから直接全パイプを表示するようにしています。

◆現在のポータルサイト
http://www.e-com-shimada.jp/portal/
タグ:

コメント(12)

Re: X2.0.16a JP d3pipesの更新時に新着が表示されない 
投稿者: domifara | 投稿日時: 2011/7/1 7:14
domifara
引用:
現在ブログのポータルサイトを運営しており、各ブログからのRSS取得に「d3pipes」を利用しています。

総ブログ数が180件ほどなのですが、1時間に1回のRSS巡回に5~10分ほどかかります。
その際にd3pipesの「新着一覧」が一時的に見れなくなります。(恐らく処理中のため表示まで時間がかかる)

そりゃそうなりますよ。


引用:

新着記事の取得中も更新前の記事が表示され、全てのページを読み込み終わってからキャッシュを入れ替えるような方法はないのでしょうか?


siziru さんのいうように、
「新着記事の取得中も更新前の記事が表示され」というのは
キャシュだけでは不可能でしょう
面白そうな難題だったので、考えてみました。
「データベースに保存しているものから表示する方法」
http://xodomifara.lolipop.jp/doxo/modules/chalog/?action=BlogView&id=79
まあ、これは置いておいて

「全てのページを読み込み終わってからキャッシュを入れ替えるような方法はないのでしょうか?」
http://xodomifara.lolipop.jp/doxo/modules/chalog/?action=BlogView&id=80
意図したように動くのか?数件のデータではわからないのです。
こちらの方(改造箇所が少ない)をパックしてみました。
 d3pipes_block_asyncHACK.zip

ファイルを一つだけ上書きになります
ソースの原本をパックアップを取ってから試してみてください。

解凍したら
xoops_trust_path/modules/d3pipes/include/
直下に追加1つ追加
common_functions_ext.php

xoops_trust_path/modules/d3pipes/joints/union/
直下に2つ追加
D3pipesUnionMergesortcache.class.php
D3pipesUnionSeparatedcache.class.php

xoops_trust_path/modules/d3pipes/main/
直下に改造分1つ入れ替え(このソースのバックアップを忘れずに)
jsbackend.php

早くならないかもしれません。
そしたら、追加したソースを削除して、jsbackend.phpを元のソースに戻してください。
私のブログに
http://xodomifara.lolipop.jp/doxo/modules/chalog/?action=BlogView&id=80
同時にページを見られる場合の問題点とか
改造内容が書いてあります。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top