答えはこれっぽい!
気が!
する!
https://www.softel.co.jp/blogs/tech/archives/5427
@tochu_cha アクセス試してみてもいいですか? ここまで苦労してると、どんな応答がきて、Mastodonがどう受け取っているのか興味が出てきた……。
@noellabo あ、どうぞどうぞ!お願いします。
今なら
https://from-tw.shop/users/actor/inbox
で受け付けております。(多分)
@noellabo おや? 何故かこっちが認証に失敗してます。
@noellabo fedibird は
https://インスタンス/users/アクター.json
ではないんですね。(手抜k……もとい、取り敢えずはそこから publickeyを取って来る仕様で試運転中です……)
@tochu_cha いいはず。これはみえるよね?
@tochu_cha webfingerは実装してる?
https://fedibird.com/.well-known/webfinger?resource=acct:noellabo@fedibird.com
最初に、こういうコールするんだけど。
@noellabo 問題点の洗い出しのため切っておきましたが、今再追加しました。
https://from-tw.shop/.well-known/webfinger
@noellabo ただ切っておいても、Flask で受け取って 202 を返すと再配送をやめるんですよ。
@noellabo あれ?フォローリクエストを送られましたか?
@tochu_cha うん、開発サーバの方から。
@noellabo で、202 が返ってるはずです。
@tochu_cha リクエストはその場で無事に終了してるね。キューに溜まってもいない。リトライしないはず。
@noellabo 確かに連投が来ておりません。
@tochu_cha 今度はメンションして投稿してみた。Create - Note がinboxに行ってるはず。
@noellabo はい、"test"が来ております。
@tochu_cha こちらも202を受け取って、無事にワーカーが終了してる。連投しないはず。
再現できない\(^o^)/
@noellabo ええっと、つまりのえるさんの開発用のサーバでは問題なくキューが解消されているということでしょうか?
@tochu_cha そうそう。無事に終了しちゃってるよ。エラーなし。
@tochu_cha エラーでてないよ。test2が送られたと思う。
@noellabo プロフページは表示できておりますので、そこから「@actorさんへ投稿」を試してみましたが、今度は投稿自体が届きません。あれ?
@tochu_cha ちょっと私の方で試してみましょう。
@noellabo お手数お掛けします。ありがとうございます。
@noellabo あ、自分から来ました。そしてすかさず連投が来ました……
@tochu_cha お、fedibird.comで再現できたってことですね(うれしくないが、それなら光明が)。調べてみましょう。
@noellabo ありがとうございます。
@tochu_cha 応答を返すのにどのぐらい時間かかってます?
そんなに遅くないならいいのですが、タイムアウトも考えられるかなと。
202返すっていうのがそういうことなんですが、処理は完了してなくても無事に預かったら202返しちゃって、処理の続きはそのあとでやるという方法をとると解放がはやくなります。
Pleromaは処理が終わってから200を返すので、送信側からみると、完了するのに時間がかかりますね。MastodonやMisskeyは202を即答してくるので解放がはやいです。
@noellabo
time コマンドで計ってみると送信して 202 を返すのに
real 0m0.832s
user 0m0.100s
sys 0m0.024s
でした。
@noellabo ちなみに Python-Flask での場合は
real 0m0.342s
user 0m0.068s
sys 0m0.024s
でした。
@noellabo はい、来ております。
おっや!?
fedibird の方のアカウントから送って試してみます。