印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType トラックバック送信時のエラー

トラックバックを送信すると、「Ping 'http://...' failed: HTTP error: 500 read timeout」というエラーが出ることがある。相手のサーバからの処理完了通知を待ちきれないのが原因である。多くの場合、トラックバックは正常に送られているので問題はない

■ ■ ■

トラックバックの送信から処理完了までの流れは次の通り。上から下へ時間が流れている。

送信サイト 受信サイト
PingTimeout
で待つ時間
トラックバック送信
トラックバック受信 受信サイトの処理
能力に依存する時間
関連するインデックスを再構築
(個別記事再構築)
トラックバック処理完了通知送信
トラックバック処理完了通知受信

タイムアウトのエラーは、トラックバックを送信してから完了通知を受信するまでに長い時間がかかるために起こる。エラーをなくすには、mt.cfg を編集して 「PingTimeout」ディレクティブの値を大きくすればよい。デフォルトは「15」なので、「60」などとすれば60秒間相手からの通知を待つようになる。

# PingTimeout 15
PingTimeout 60

相手から通知が届けば、編集画面の「いままでに送信したトラックバック」にリストされる。エラーの場合は「トラックバック先のURL」欄に URL が残ってしまうため、保存する度にトラックバックが送信されることになり重複送信が発生する。

トラックバックを送って 500 エラーになった場合でも、トラックバックは正常に送られている。こちらが相手の応答を待ちきれないエラーだからである。送り手の「トラックバック先の URL」には、送信失敗の URL が残ってしまっているので、次の再構築前に削除すればいいだけである。ただし、送信が成功すると、この URL が自動的に消えて <$MTPingsSentURL$> で参照できるようになるが(<MTPingsSent> コンテナタグで囲む)、失敗すると参照できない。参照したいのであれば、送信を成功させなければならないので、送り手側で待ち時間を伸ばして再度トラックバックをする必要がある。Movable Type 日本語版のマニュアルテンプレート・タグ - トラックバック・タグ の MTPingsSentURL の説明には、トラックバックが送られてきた URL。 タグで使います。とあるが、これは間違い。「送られてきた」ではなく「送った」 URL である。

このサイトでは、nlog(n): トラックバックで再構築 のハックで個別記事の再構築を追加している。コメントと同じようにトラックバックの情報が個別記事に反映される、という利点がある。その反面、処理の時間がかかるようになっている。オリジナルの Movable Type では、送信直後はメインインデックスだけにトラックバック情報が反映され、個別記事には反映されないようになっている。個別記事への反映は、トラックバックを受信したサイトの管理者が手動で再構築を行わなければならない。再構築を自動で行うか行わないかは悩むところである。

現在、このサイトは CPU が Pentium II 233 MHz のノートパソコンなので、処理能力は高くない。したがって、トラックバックを送ってもらってもタイムアウトエラーになることが多い。また、サイトによってはタイムアウトの値を変更できないこともあるので、重複トラックバックはある程度仕方がない。重複したトラックバックは1つ1つ削除するようにしている。

上の表の「関連するインデックスの再構築」では、メインインデックスが再構築されるのは確実なのだが、それ以外のインデックステンプレート (「インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する」にチェックを入れているテンプレート) が再構築されるかどうかについては、ちゃんと調べていない。また、これもちゃんと調べていないのだが、個別記事を再構築する際に前後のエントリも再構築している可能性がある。再構築するものを、該当する個別記事とメインインデックスだけに限定できれば、処理にかかる時間を半減できそうである。

インデックスの再構築には $mt->rebuild_indexes() が呼ばれている。rebuild_indexesに関しては lib/MT.pm 内に POD 形式でドキュメント化されている。lib ディレクトリに移動して、

$ perldoc MT

とすれば、整形されたドキュメントを読むことができる。

2005年9月2日追記:
Movable Type オンラインマニュアルの MTPingsSentURL の項目が修正され,トラックバックを送信した先のURL。 タグで使います。 という表現になりました(テンプレート・タグ - トラックバック・タグ)。修正されたのは恐らく昨日です。マニュアルを更新した場合は,同時にアナウンスもして欲しいものです。

2006年1月7日追記:
「PingTimeout 60」という設定は,再構築に毎回60秒かかるということではありません。相手からの応答がない場合に60秒まで待つというだけです。相手からの応答が早ければそこで終わります。トラックバックを送らない場合,再構築にかかる時間に変化はありません。

Posted by n at 2004-10-27 01:40 | Edit | Comments (6) | Trackback(31)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
ping送信エラーで多重投稿になっちゃう場合の解決策
ping送信が完了できないために、何度もエントリーを保存したら、相手のサイトでは多重投稿に。こんな場合、mt.cfgのPingTimeoutの設定で解決できるようです。 Trackbacked from: blog::日和見生活 at January 02, 2005 04:01
Movable Typeで困っていること
Movable Typeを日記として定常的に使うにあたって困っていることを何点か... Trackbacked from: Brilliant Rose at January 07, 2005 01:23
トラックバック送信エラーを回避したい!
最近頻繁にトラックバックをいただくようになりました。 これは自分がエントリーしたものが単なる便所の落書きに終わってないって事かな?と思えるので非常にありがたい事です。 Trackbacked from: caramel*vanilla at January 11, 2005 11:23
トラックバックPINGエラー回避
へぇ?? トラックバックPINGエラーって回避できるんや?? ping送信エラー... Trackbacked from: Amamap at February 14, 2005 21:51
MovableTypeのバグ
バージョン3.151 今のところ気が付いたことのみ ・PING送信時に「エラー」... Trackbacked from: ロト6チャンネルblog[予想支援] at March 10, 2005 01:20
trackback ping の timeout
trackback ping の timeout が気になったので修正。 mt.cfg で timeout を 60 秒にしてみた。 参考:nlog(n): トラックバック送信時のエラー... Trackbacked from: 夜行録 at March 17, 2005 23:46
トラックバック送信時のエラー回避法
先のエントリー「MTをphp化する方法」で参考にさせていただいたサイトに トラックバックを送った所、エラーが出てしまい、 結果3つもトラックバックを送ってしまうという非礼を・・・( TДT) これは何とかならないのか?と調べてみたら、 nl... Trackbacked from: MTカスタマイズ法収集ブログ at March 29, 2005 14:27
トラックバックが重複?
先日トラックバックについてエントリーしましたが、案外知られていない(いや、知って... Trackbacked from: 犬といっしょ。 at April 03, 2005 03:44
トラックバックping
もいっこ自分用メモ。 トラックバックがエラーで帰ってくるにも関わらず、正常に送信... Trackbacked from: 日常ゆきこ at April 20, 2005 22:23
トラックバックの送信エラーを回避する
mt.cfg を編集して 「PingTimeout」ディレクティブの値を大きく... Trackbacked from: New White - Blog at April 21, 2005 22:07
重複トラックバック再び
重複トラックバックブログを運営していてよくやってしまう失敗。それは、意図しないトラックバックの複数送信。重複。今もやってしまった。 : : : : : : : ということで、たかだかトラックバックなので、エラーが発生しても諦めて、再送信しない方が良いので... Trackbacked from: みのねっとぶろぐ at May 11, 2005 23:14
トラックバック送信時のエラー回避法
先のエントリー「MTをphp化する方法」で参考にさせていただいたサイトに トラックバックを送った所、エラーが出てしまい、 結果3つもトラックバックを送ってしまうという非礼を・・・( TДT) これは何とかならないのか?と調べてみたら、 nl... Trackbacked from: MTカスタマイズ法収集ブログ at May 13, 2005 00:08
MTのリビルドエラー解決策。
Movable Typeを使い始めて少し経つと気になりだすのがリビルド、いわゆる... Trackbacked from: blog@Revolution at June 09, 2005 01:29
また再構築でコケる。
またMTの再構築エラー。(23. Květen 2005)から前のログが飛んじゃ... Trackbacked from: blog@Revolution at July 01, 2005 20:05
トラックバック送信時のエラー
トラックバック送信時に 「Ping 'http://...' failed: HTTP error: 500 read ... Trackbacked from: 2-mix Laboratory at October 11, 2005 18:48
送信先エラー
たくさんエラーがでました。 これを削除すべきか、どうかネットで調べて見ます。 H... Trackbacked from: 48歳から脱サラ、ネットビジネス起業にチャレンジ! at December 30, 2005 10:01
Movable Type トラックバックのPing送信時エラー
トラックバックのPingを送る時にどうしてもエラーが出てしまう。一応そ... Trackbacked from: Heartless -Sena- at January 07, 2006 23:29
手動でトラックバックしてみたよ。
...さてこの戻り値だけれど、どのタイミングで返ってくるかが図示されたところを見つけたー。... Trackbacked from: たにもりのもり at February 02, 2006 16:51
eマーケット
興味深い内容で、とても楽しく読ませていただきました。 Trackbacked from: じぇむこむ at February 24, 2006 05:21
トラックバック送信時のエラー
さっきのエントリーで小粋空間さんにトラックバックをしたが、タイムアウトエラー。 ... Trackbacked from: blog in a fog at March 20, 2006 01:13
トラックバックエラーの回避
トラックバックエラーが多発してるのでmt.cfgを編集してタイムアウト時間を長くしてみる mt.cfgの # PingTimeout 20 を # PingTimeout 120 に変更 ちょっと長めにしてみた。60あたりがベストなんだろうけど。 これでエラーが無くなればいいのだけれど。迷惑されてる方申し... Trackbacked from: K-Z31 Blog? at March 24, 2006 03:55
トラックバック送信時のエラー
以前にもトラックバック送信時のエラーについてメールをいただいたのですが、同じようなメールをまたいただきました。 わたし自信も頻繁ではないですが、やっぱり発生して... Trackbacked from: MovableType備忘録 at April 09, 2006 21:08
MovableType - トラックバック時の500エラー
MovableTypeでエントリー投稿時にトラックバックを送る際、 エラー500で戻ってくきてしまう事象が起こりました。 どうやら送った先のサーバーでの処理時間が遅かったために、 レスポンスが戻ってくる前に勝手にタイムアウトしちゃってたみたいです。 原因を探し... Trackbacked from: NJ-CLUCKER - MEMO - at May 25, 2006 16:43
[pc][spam]TrackbackスパムをS25Rで拒否
yohgaki’s blog - trackbackもDNS逆引きなしホストから拒否します Spamを送信してくるホストに逆引きが設定されていないケースが多いので多少は役に立つはずです。 とのことで、Trackbackスパムについては自分のサーバでブログを動かしてないので良く現状を知らないのだ... Trackbacked from: モーグルとカバとパウダーの日記 at June 09, 2006 14:59
送信先エラー
たくさんエラーがでました。 これを削除すべきか、どうかネットで調べて見ます。 H... Trackbacked from: 48歳から脱サラ、ネットビジネス起業にチャレンジ! at July 01, 2006 07:45
トラックバックエラー
トラックバックエラー:Error:Your blog is not permit... Trackbacked from: Blogem at August 16, 2006 14:05
カレンダー
今まで表示のさせ方がわからなかったけど小粋空間を見てたらカレンダーの表示のさせ方... Trackbacked from: 備忘録@Weblog at September 28, 2006 16:37
トラックバックPINGエラー回避
へぇ?? トラックバックPINGエラーって回避できるんや?? ping送信エラー... Trackbacked from: Amamap at October 20, 2006 00:01
トラックバック一部開通
非常に世知辛い世の中で、動的IPでのトラックバックはスパム扱いされて弾かれてしま... Trackbacked from: First Weblog at June 17, 2007 02:39
トラックバックテストその2
どうやら ack link not found 2 というエラーの場合は『本文中... Trackbacked from: しあわせウサギ at September 18, 2007 22:39
HTTP error: 500 read timeout
またまた、MovableTypeでの記事作成時のエラーなのですがHTTP err... Trackbacked from: nBoze.com at January 05, 2010 17:08
Comments

すみません。ping送信エラーをこちらのサイトを参考にして解決し、その紹介をブログに書いたところ、やっぱり500エラーになって、不本意にも何度もトラックバックしてしまいました。設定を120秒にしても変わりませんでした。もしかしたら、もう一つのサイトへのトラックバックが原因だったのかもしれません。トラックバックURLが削除できたので、多分これで大丈夫だと思いますが、ご迷惑をおかけして申し訳ありませんでした。

Posted by: mym at January 02, 2005 04:39

情報ありがとうございました。「複数のサイトにトラックバックを送った場合、そのうちの1つに500エラーがあると、正常に送れたサイトもエラーのように扱われる」ということでしょうか。
トラックバックの削除については、全く問題ありません。気になさらないでください。

Posted by: n at January 02, 2005 09:54

こんばんは。始めまして。重複トラックバックの削除をお願いします。

Posted by: masaki at June 09, 2005 01:35

はじめまして!すいません。めちゃくちゃいっぱいトラックバック送ってしまいました。あれ〜なんて思ってたら、この記事を発見して「あっ」って。。削除お願いします…

Posted by: ありさ at September 08, 2005 15:18

はじめまして^^

トラバ送信時のエラーについて、サーフしていたところ、こちらのサイトに行き着きました。
トラバは普通にやってるけど、そのしくみなどは知りませんでした。大変勉強になりました。

また、寄らせていただきます。
# トラバもさせてもらいました。

Posted by: bizcaz at April 09, 2006 21:12

始めまして、louisです。トラックバックエラーは出なくなりましたので、感謝申し上げます。

Posted by: louis at June 17, 2007 02:41
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?