Movable Type 備忘録

 

 トラックバック送信時のエラー

わたし自信も頻繁ではないですが、やっぱり発生しているので、なんか回避策はないものかと、ちょっといろいろ調べてみました。

ここでいうトラックバック送信時のエラーというのは、以下のようなエラー表示される現象です。

「http://●●●」へのトラックバックは失敗しました: HTTP error: 500 read timeout

これはトラックバック送信エラーしたときに、MovableType(ムーバブルタイプ)の管理画面の左サイドバーにあるログをクリックすると、エラー内容を確認することができます。

このエラー内容は、トラックバック先の相手サーバーからの完了通知がこないがために、こちらは待ちきれずエラー(タイムアウト)してしまうことが原因のようです。

要するに相手サーバーからの応答が遅いなら、こちらはそれに合わせてタイムアウト時間を長くしたらどうか…と思って調べたところありました。

今回参考にしたサイトは nlog(n) 様です。

対策

nlog(n)さんでは、トラックバックの仕組みを詳しく書かれていました。
勉強になります。

nlog(n)さんの説明によると、トラックバックは右のような処理の流れになっています。

上記図は、正常にトラックバックできたときの、大まかな処理の流れを表しています。
エラー時は、相手サーバーの処理能力に依存する時間Ping Time で指定された時間 より長い( 時間がかかっている )ために発生する現象ということですね。

相手サーバーにはトラックバックの通知は届いていて、処理もされているけど、自分のブログ側で待ちきれない…という状態が発生していることになります。
ですから、トラックバック事体は正常に行われている…とのことです。

nlog(n)さんでは、対策方法についても紹介されていました。

mt-config.cgi の中に PingTimeout という設定値があります。
この設定値が、先ほどの図のPing Time で指定された時間分待つ にあたる時間( 秒 )となります。

以下に、わたしのブログで設定している内容を記します。

307行目
変更前:
# PingTimeout 20
変更後:
PingTimeout 60

わたしのMovableType(ムーバブルタイプ)では PingTimeout はコメントにされていました。
みなさんのもコメントにされていると思います。nlog(n)さんの説明では、デフォルトは15秒とあります。
でも、感覚的にもっと短く感じるのはわたしだけですかね。

とりあえず、青い時の部分のコメント( # )を外して、20秒 ⇒ 60秒に変更しました。

以上で、トラックバック送信時のエラー対策ができたのではないかと思います。
また、トラックバックの送信は、新規エントリの公開といっしょにするのではなく、最初に公開してからその後で、トラックバック送信した方が良さそうですよ…わたしの経験的に・・・たいした経験ではありませんけど (; ̄∇ ̄A

60秒という時間が妥当かどうかは分かりませんが、nlog(n)さんでも60秒に設定していたので、とりあえず60秒で様子見です。
まだ発生するようなら、もうちょっと延ばした方がいいのかも、です。

つか、ぶっちゃけ長いにこしたことないのかなぁとも思っています。
だって、指定した時間内に相手から処理完了通知が来れば問題ないわけでして・・・違うのかなぁ。

 Trackback Pings(0)

No trackbacks found.

 Comments(6)

#1: Posted by てつじん Author Profile Page [RES]

はじめまして。

実は、私もトラックバックで悩んでおります。というのも、ほとんどのブログに対してはトラックバックが送れるのですが、livedoorのブログにだけはトラックバックを送ることが出来ないのです。

よくよく色々調べてみたのですが、どうやらUser-AgentがMozillaだとまずい、という(本人内容よく理解できていないのですが)事がわかりました。

とはいえ、送るトラックバックのUser-Agentの変更の仕方もわからず....。

もしご存じでしたら教えてくださいませ。私もさらにあちこち調べてみます。

ではでは。

#2: Posted by bzbell [RES]

>>1 てつじん さん

こんばんわ^^

User-Agent が Mozilla って、よくアクセス解析でブラウザの種別に Mozilla ってありますがそのことでしょうか。

もしそうだとした場合、ブラウザによってトラバできない:pp_06.gif:ということなんですかねぇ。

わたしも調べてみます。

#3: Posted by てつじん Author Profile Page [RES]

調べましたところ、なんとかなりそうです....。

User-Agentの話は結構前のようで、今は大丈夫のようです。

ただし、livedoorブログ等で、そのエントリーにそのトラックバック先のリンクが書いて無いものはトラックバックを受け付けない、という仕様があるようです。(トラックバックの設定に"参照リンクの無いトラックバックを許可する"というのがありました)

トラックバックは相互リンクでなければNG、という考えの方がそういう設定になるようですね。(デフォルトで許可しない設定になっています)

いずれにせよリンクが無いとトラバが打てないのをどこかに明記して欲しいですよね。

お騒がせしてすみませんでした。

ではでは。

#4: Posted by bzbell [RES]

>>3 てつじん さん

ホントだぁ:exclam.gif:…そういう設定だったなんて知りませんでした。

分けわかんなく使ってましたが、何となくスパム対応なんだろうな…程度にしか思っていませんでした。

勉強になりました。解決して何よりです:pp_05.gif:

#5: Posted by akiraman [RES]

こんばんは。

最近、MTに乗換えたばっかです。

私も、TBが上手く行かなくて、ここに辿り着きました。
設定を、60秒にしてもエラーが出たんで、再度90秒にしたら、
上手く飛んでくれましたΣ(^∀^;)

こちらには、参考になる内容が多いので勉強になります。
これからも、よろしくお願いします。

#6: Posted by bzbell [RES]

>>5 akiraman さん

はじめまして^^

どうも訪問していただいてありがとうございます♪

TBってTB先の状況にもよるからどうしてもタイムアウトになりやすかったりしますよネェ。
でも、参考になってよかったです(●´∀`●)

こちらこそよろしくです(o ̄∀ ̄)ノ

 Post a Comment

コメント用フィード