古いものを表示

俺の手打ちのHTTP ステータスコードがそんなに気に喰わないのか!?

ひょっとしてぇ!
echo -e ""
なら最後は
"~~\r\n\r\n"
じゃなくて
"~~\r\n"
と一回改行でいいのか!?
echo -en
と最後を消した時に
"~~\r\n\r\n"
と二回改行なのか?

オイゲンさん!俺の手打ちの HTTP/1.1 200 の何が気に喰わないんですか!?

畜生! Python-Flask で作った 202 ステータスコードは大人しく聞いてくれるのに! 何故!?

リバースプロキシが問題かと思ったけど、netcat を python-flask で作ったインスタントなエコーサーバに代えて 202 返しても止まるんだよなー。何が違うんだ?

こうなったら数打ちゃ当たるだ!と、数を放つための仕組みにまた手が掛かる……

Mastodon、何で Python-Flask の言うことは聞くんだ? あんた Ruby 製違うんか?

そして何故、俺が手打ちで書いたHTTP 202 は無視する?
ひょっとしてこれは……えーあいの人間への叛乱……!?

逆に
\r
で改行させて、あとは netcat が
\n
で改行させる、が正解なのか?

ちょっと待った!
echo や printf じゃなくファイルにして cat で開くようにしたら……これは…… mastodon からの連投が止まったんじゃないのか!?

と思ったら止まらなかった。

何が不満なんだ mastodon !? 俺のHTTPステータスコードの何が不満なんだ!?

@tochu_cha アクセス試してみてもいいですか? ここまで苦労してると、どんな応答がきて、Mastodonがどう受け取っているのか興味が出てきた……。

fedibird は
https://インスタンス/users/アクター.json
ではないんですね。(手抜k……もとい、取り敢えずはそこから publickeyを取って来る仕様で試運転中です……)

ただ切っておいても、Flask で受け取って 202 を返すと再配送をやめるんですよ。

@tochu_cha リクエストはその場で無事に終了してるね。キューに溜まってもいない。リトライしないはず。

@tochu_cha 今度はメンションして投稿してみた。Create - Note がinboxに行ってるはず。

@tochu_cha こちらも202を受け取って、無事にワーカーが終了してる。連投しないはず。

再現できない\(^o^)/

ええっと、つまりのえるさんの開発用のサーバでは問題なくキューが解消されているということでしょうか?

@tochu_cha そうそう。無事に終了しちゃってるよ。エラーなし。

@tochu_cha エラーでてないよ。test2が送られたと思う。

はい、来ております。
おっや!?
fedibird の方のアカウントから送って試してみます。

フォロー

@tochu_cha fedibird.comの方は、エラーが続いて配送停止してますね。戻します。

@tochu_cha お、fedibird.comで再現できたってことですね(うれしくないが、それなら光明が)。調べてみましょう。

@tochu_cha 応答を返すのにどのぐらい時間かかってます?

そんなに遅くないならいいのですが、タイムアウトも考えられるかなと。

202返すっていうのがそういうことなんですが、処理は完了してなくても無事に預かったら202返しちゃって、処理の続きはそのあとでやるという方法をとると解放がはやくなります。

Pleromaは処理が終わってから200を返すので、送信側からみると、完了するのに時間がかかりますね。MastodonやMisskeyは202を即答してくるので解放がはやいです。


time コマンドで計ってみると送信して 202 を返すのに
real 0m0.832s
user 0m0.100s
sys 0m0.024s
でした。

ちなみに Python-Flask での場合は
real 0m0.342s
user 0m0.068s
sys 0m0.024s
でした。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。