NP_QuickEdit改 3.31のコアのバグ
Oct 25
Nucleus3.31がもうすぐなんですが、このバージョンから更新pingの送信がコアから外れてプラグインになります
今は更新pingを複数のサーバに送信する際には、NP_SendPingを使ってるわけですが、NP_Pingは送信先サーバが追加できません(出来るけど直接ファイル書き換えなきゃならない)
『フランス国内からしか受け付けません』とかトップページに書いてあるサーバまでリストアップしてあるし、GoogleにもYahoo!にも送信していません
リストの最後にあるところは、多分登録会員専用のトコだし…
ということで、最新版を元に大改造中
もちろん、NP_SendPingのコードをマージして、再編集後のping送信にも対応です
デフォルトの送信先もいくつか追加しました
ここで問題
更新ping送信先が一杯あるとどうなるでしょう?
答え:レスポンスの遅いところに足を引っ張られて、一番最初にpingしたところがサイトを確認しに来た時に、まだ全部のping送信が終わってない事がある
これを避けるためには並列処理が必須
もっと言うと、『更新ping送信自体をNucleusの外に任せた方がいい』んだけど、そこまではプラグインでは出来ないので…
話は変わって、『pingをバックグラウンドで送信』ってオプションがあるんですが、これ、CLIのphpに任せてます?
FreeBSDのportsってば、『CLIをインストールしない』オプションなんてのがあるんですが、CLIインストールしてないサーバだとどうなるんでしょう?
てかexec使っていいなら、ping送信そのものを全部execしちゃえば、(少なくともNucleus自体のレスポンス的には)並列処理とか考えなくていいんじゃ?

6 Responses to “ 懲りもせずにNP_Pingを改造してみようかと ”

  1. kimitake Says:
    改造版ですが、ここ1~2日中に仕上げてください ^^;

    ってかまだオリジナルの NP_Ping のテストもしてなくて、一応日本語訳だけつけただけな状態です。で、例のバックグランド送信云々のところですが、原文の意味がよくわからななかったのでとりあえず「へぇ~バックグランドで送信できるんか?」ということで訳してあります。もしかしたら全然違ってたり ^^;

    ところで、詳細は未確認ですが ping 送るのは JustPosted イベント時だと思うので、ping の送信途中でささっててもエントリ自体は公開済み状態なのかなぁとか思ったり。
  2. shizuki Says:
    >造版ですが、ここ1~2日中に仕上げてください ^^;
    うぃ、むしゅー
    >ところで、詳細は未確認ですが ping 送るのは JustPosted イベント時
    あ~んど SendPingイベント時なのでぃす
    で、今もっかいコア確認してみると、この SendPing イベントって、addItemとupdateItemの両方で発生するようですね
    今で言うところの PostAddItem と PostUpdateItem の後に ADMIN.phpに戻ってきたタイミングです
    なので
    >ping の送信途中でささっててもエントリ自体は公開済み状態なのかなぁとか思ったり。
    公開済みではあるんですが、いつまでも投稿後の表示が更新されないという…

    でバックグラウンド送信の方は、JustPosted イベントのときのみで、このチェックが入っていると
    exec("php $DIR_PLUGINS/ping/ping.php " . $data['blogid'] . " &");
    です
    中身は、NP_Ping.php の SendPing() を実行してるだけです
    何がバックグラウンドかというと…
    通常アイテムの更新、追加時に画面に表示される
    『ping送信中… テクノラティ』
    とかいうのが、表示されない!
    それだけです orz
    記事にも書いたけど、CLIをインストールしてないとか、exec() を許可してないサーバだと使えません
    コアからのスピンアウト機能として、これはアリなのかなぁ…と
  3. まみお Says:
    何を今更、だったらごめんなさいまし。

    http://blog.cles.jp/item/2200
    ===
    特にNP_SendPingは反応の遅いサーバがあるときに、そのサーバに足を引っ張られることなく待ち時間に違うサーバの処理をしてくれるのでかなり効果が見られるようです。
    ===

    お~って思ってたんですけど、それって織り込み済み?
  4. まみお Says:
    ...と思ったら調査中の様子でしたね。
    ひつれいしました(^_^;
  5. shizuki Says:
    >まみおさん
    >...と思ったら調査中の様子でしたね。
    >ひつれいしました(^_^;
    いえいえ、ありがとうございます
    ところで、ウチのサイトで落ちなくなりました?

    ところでevent_SendPingですが、アイテムの更新時にも発生する事が判明
    更新のタイミングで『送信しない』オプションが欲しいところなんですが…
  6. shizuki Says:
    アイテムの更新後、ping送信画面にリダイレクトされて、そこからさらに<META>タグでリダイレクトしてるんで、このリダイレクトより早く別ページにリダイレクトするようにコード追加
    なにをどこでどう設定したのかさっぱり思い出せないけど、どうやらウチのFxは<META>タグのリダイレクトが聴かなくなってるんで、当然javascriptで

Leave a Reply

OpenID を使ってログインすることができます。
Identity URL:



このエントリにトラックバックはありません

この記事のトラックバックURL
http://shizuki.kinezumi.net/item_539.trackback(右クリックで'ショートカットの保存')
トラックバックするにはこの記事へのリンクhttp://shizuki.kinezumi.net/item_539.htmlが必要です