LWPでtimeout指定が効かない

2024/11/10 [11:25:03] (日) 天気

自作実装のActivityPubサーバーから、フォロワーさんの所属しているリモートサーバーに投稿を送信する時に、お相手のリモートサーバーがなんらかの事情で落ちてるケースがある。

レスポンスは500番代のエラーとなる。


perlで定番のLWP UserAgentを使ってリクエストを投げてるんだけど。

400番代のエラーと違って、サーバーに問題が発生している500番のエラーの場合、返事が戻ってくるのに時間がかかる、待たされる。投稿するためのPOSTもアカウント情報取得のためのGETもなかなか戻ってこない。

デフォルトだと、リクエストを投げてお相手の反応が返ってくるまで180秒(3分)待つことになっている。


LWP::UserAgent - Web ユーザエージェントクラス

https://perldoc.jp/docs/modules/libwww-perl-6.04/LWP/UserAgent.pod


timeout( $secs )
秒単位のタイムアウト値を取得または設定します。 デフォルトのtimeout()の値は180秒、つまり3分です。
サーバへの接続においてtimeout秒反応がないと、リクエストは中断します。 つまり、トランザクションが完了してrequest()メソッドが実際に返るまでの 時間を意味します。

ということなのでtimeoutに10秒とか設定してみてたんだけど、どうもそれが効いてない。


検索したら、やっぱりtimeoutの指定は効かないことがあるらしい。


LWP::UserAgentのタイムアウトがうまく効かなかった事象の調査 (序章)

https://papix.hatenablog.com/entry/2020/12/25/180640


もう少し粘って検索してみると

lWP::UserAgentの「:content_cb」(コールバック)のサブルーチンでSIGNALを設定してalarmで対応できるという記事を発見。


LWP::UserAgent get callback with timeout

https://stackoverflow.com/questions/29071348/lwpuseragent-get-callback-with-timeout

リクエストをサブルーチンで処理することになるのが、素人のわたし的に難しそう…影響範囲がわからない。

思いつきでデフォルトを180秒にしたわけじゃあるまいし、なにか理由がありそう。それをここで指定しちゃうと、全部に影響するわけだしなあ、と。


てことで、それならリモートに投稿を送信するリクエストのサブルーチン限定にしてしまえば大丈夫っぽいんじゃないかと。

サブルーチン丸ごとSIGNALのALRMを設定してevalで捕まえることにした。

結果オーライとか、やっつけ仕事だけは昔から得意だし。


my $res;
eval{
    local $SIG{ALRM} = sub{die "timeout";};                                                                                                     
    alarm $self->{timeout};
    $res = $us->request($req);
    alarm 0;
};
alarm 0;
if( $@ ){
    printf qq{ERROR deliver %s ::: %s}, $u, $@;
}

[2025/12/20 08:41:35] 追記

evalの外側に「alarm 0」=alarm のリセットが必要なのは。

evalの中で、timeout秒以前に500を捕捉したらそこでevalを抜けてしまうので、evalの外側でもalarmをリセットしないとスクリプトはSIGNALを待ち続けてしまうから。

「タイムアウト処理」

https://www.futomi.com/lecture/signal/alrm.html

↑こちらの記事に詳細があって助かりました


ちゃんとしたActivityPubサーバーのMastodonなんかだと、リクエストの送受信は裏側でやってるんで、アクセスしてるユーザーが待たされることはないはず。

わたしの自作ActivityPubサーバーは最低限で、いろいろ手抜きしていて表示するだけのために3分以上待たされるんだよなあ。自業自得というか。


image

サーバーのお守り代わりの画像

(松戸市立博物館)

[更新]2025-12-20 08:46:04

WEB本棚「趣味は読書2」の集計データ

2015/11/10 [07:52:23] (火) 天気

WEB本棚「趣味は読書2」

http://doncha.net/

というサイトを制作して公開している。

2006年4月1日、自宅のサーバーで公開開始。震災の影響(停電)で自宅サーバーを諦めてレンタルサーバーに引越したりしたけど、そろそろ10年近く続けていることになる。ここ数年はほとんどメンテしてなくてスマホにもまともに対応していない古くさい造りのまま。それでもわたし自身はけっこう重宝してるし、アクティブな参加者さんもいて、本棚を作る・眺めるのは楽しいものだ。


てことで、またちょっと「趣味は読書2」のデータ集計。

(前回5月→http://t2aki.doncha.net/?id=1431564639)


現状(11/6日現在)

登録会員数:330人。登録タイトル数:40326。登録著者数:14452人


人気タイトルは『空の中』『太陽の塔 』『陽気なギャングが地球を回す』『 重力ピエロ』『予知夢』『しゃばけ』など。

人気の著者(著者だけじゃなく翻訳者もカウント)は恩田陸、東野圭伍、茅田砂胡、小野不由美、宮部みゆき、栗本薫、伊坂幸太郎、田中芳樹、有川浩、スティーヴンキングなど。

浅倉久志、大森望がベスト30に入ってるのは翻訳物も読まれている(登録されている)ということ。


詳細はこちら→http://doncha.net/about.pl?c=report_bolivia

(毎月1日更新するように仕込んだ)


いわゆるベストセラー作品、ベストセラー作家が順当に上位を占める感じかな。

ただ、上位は集計上位ということで、うひゃこれ読んでるのか、とニンマリできるのは上位に出てこない隠れたタイトル、作家さん。


本棚はやたら公開するものではないということで、「趣味は読書」はクローズドな作りだけど、ログインすれば他の参加者さんの本棚を眺めることができる。たまにぼーっと眺めて次これ読んでみようと思う本もある。

…てなこと言ってるけど、実際は、アクセスログ解析で見る限り、みなさんほとんど(9割以上)自分の本棚へ直行直帰なので、新しい本との出逢いということでは、残念ながら機能してないかな。



もうひとつ。今回、登録されているタイトルのカテゴリを集計してみた。

image


「趣味は読書」ではカテゴリは参加各個人が自分でつけることにしたので、たとえばわたしは

image

こんなカテゴリわけにしたけど、他の参加者さんはまた違っている。


WEB本棚「趣味は読書2」としてのカテゴリ集計はできない。

ので、アマゾンでつけられているカテゴリを使った。


image

この最初のカテゴリ。

image
image

これはカテゴリとして苦しいのでひとつ上のカテゴリ(「日本文学」「直木賞」)を採用。


登録されたタイトルのカテゴリ数:593


【ベスト10】

冊数カテゴリ
10149コミック
5556日本文学
4310英米文学
3574ライトノベル
1944ミステリー・サスペンス・ハードボイルド
1264文学・評論
1260SF・ホラー・ファンタジー
753歴史・時代小説
514エッセー・随筆
468近現代の作品

(※APIで取りこぼしてるものがあるし、洋書(.com .ukなど)はカウントしていないので数字はざっくり参考値)


アマゾンがつけるカテゴリは「売る側の、売るための」カテゴリわけなので、本を整理整頓・管理するためのカテゴリわけとは種類が違う。


集計に使ったカテゴリ例にあるような「あ行の著者」とか、えーほら、なんやったかな「い」で始まる名前でな、という時には役に立つ、のだろう(さすがにこの手のは集計から外したけども)

それらをごちゃっと一緒くたに集計して、何か意味があるかと言われると、よくわからない。アマゾンのAPIにリクエストするだけで取得できるしとりあえずネタ程度に面白いかも知れない、ぐらいかな。


このベスト10カテゴリ合計は全カテゴリの75%を占める。これが「趣味は読書2」に登録されている本の傾向。


「その他」には、アマゾンの売るための動線確保カテゴリ「霊界・恐怖体験」だの「企業革新」だの「微生物学」だのニッチなもの、というかそれってカテゴリなのかというようなものがぞろぞろと。これはこれで見てると「こーゆーとこからも集客あるのかあ」的に面白いんだけど、わたしの想定するカテゴリとしては雑音・誤差。


また、小説などの場合、ほぼ1タイトル1冊なのに対して、コミックは1タイトルでン十冊なのもあって(こち亀などジャンプ系の人気マンガを全巻登録してらっしゃるかたもいて)同じように集計するとどうしても1位はコミックになる。


アマゾンの大雑把なカテゴリを使ったので当然っちゃ当然の話、街の書店と同じような棚の並びになって意外性に乏しい結果となった…て、意外性を求めてどうする。


まだまだ知らない面白い本はたくさんあるので、こうやって本棚、ずらっと並ぶ本のタイトル・作家さんの名前を眺めると「たくさん読まねば」と焦るなあ。命短し本読め爺ぃ。


[11/10 08:25:49]

もはや古臭いサイトと言いつつ、twitter連携は仕込んでいて、読了/積読のツイートをしたり、ツイートすると本棚を検索して結果をリプライしてくれたり。今の時点でも、まだちょっと便利なところはある、かも。

バリカン事故

2014/11/10 [10:57:25] (月) 天気

朝っぱらから吃驚。

そろそろ髪も伸びてきたので、バリカンでゲタを交換しながら長さを調整して刈っていた。セルフバリカン(自分刈り)は今までにもう6回ぐらいやってて慣れたもんだ、と思ってたらゾリっとごっそり毛を刈ってしまって腰が抜けた。

慢心していた。


交換したつもりのゲタを忘れて素の状態のバリカンで直接刈ってしまったのだ。

モミアゲからこめかみに向かってバリカンの幅のまま白い道(ハゲ)のできあがり、だ。


焦った。慌てて短いゲタからいろいろ試してみたけど、んなもんリカバリが効くわけがない。どうやっても白い道は白い。幸い、モミアゲを刈ろうと軽く浮かせ気味にしてたところだったので、2mmぐらいの長さで残った(取扱説明書によるとがっつり素の状態で刈ると1mm以下の長さになるらしい)


しょうがないんで、急遽12mmの坊主頭となった。

image

起きてきたヨメが吹き出す程度のできごととなってしまった。

パジャマ代わりにボーダーのシャツを着てたし、もともと貧相で人相が悪い。


ヨメ「生年月日と名前を書いた紙を持って正面写真撮る?」


ちっ。どうせそのうち坊主にしようと思ってたことだし、ちょうどいい機会というやつだ。

[更新]2015-06-30 08:21:00

忙しい…のかな。

2006/11/10 [01:22:17] (金) 天気

掲示板に対するコメントスパムが激しい。同じデータベースを使ってる趣味は読書SNSに妙な負荷がかかっても困るんで、データベースを使わない掲示板を作成…しようと思ってるんだけど、データベースを使ったラクチンさになれててちょっと億劫に。

なもんで、しばらく掲示板は閉鎖するです。

そのうちデータベースを使わない、作りかけのヤツをでっちあげて掲示板は置いておこうと思います。双方向のものがないサイトなんて論外ですからねぇ。


ちっとリアル方面で忙しい、というか新しい村への入植の儀式が想像以上に面倒で、バタバタ。困ったもんです。


とりあえず。なにか御用ご用命がありましたら、トップページにおいてあるメールフォームでご連絡くださいませ。

[更新]2026-02-04 10:16:38

寒くなってきた

2005/11/10 [19:48:59] (木) 天気

悪戦苦闘かも。大人の科学マガジンVol3付録のピンホールカメラを、今日は広角モードにしてもって出たのだ。シャッターはなくて、シャッターユニットごとガコっと外して露光、パコっとはめて閉める。さすがにこれは無茶だと思って検索。ペンタックスの49mmレンズカバーがちょうどサイズが合うというので買っておいた。それでもいかんかった。蓋の開け閉めで露光させるなんて、がさつな性格のわたしには難しい。2度ほど閉め損ねるし蓋をいじって落とすし。もう一台改造用に買うか、いっそHOLGA改に走るか。悩ましいっす。


ガシガシHTMLを書いて過ごしつつ、ASPも少しいじる。いわゆるフォームメールなんだけど、ASPだとわずか数行。エンコードとか面倒っぽいだろうなぁ、とか、sendmail になに渡すんだっけ、とか、文字コードどうすんのよ、とか。

なーんも考える必要がなく、BASPだかに投げるだけ。

便利なもんだ。でも、ちょっとあっけなさすぎてつまらん。セキュリティとかどうなってんのか不明。POPのパスワードをテキストでスクリプトに埋め込むのって普通なのか?メールのボディ部(本文)にテキストでパスワードとか大事なことを書くのは嫌だというプログラマが、スクリプトにテキストでパスワードを埋め込んでるんだからええのんか。こっちの方がすごく抵抗があるのは違ってるんかしらん。

メールアドレスをトップページに晒すとろくなことない。メールがたくさんくるんですけど、これはどうすればいいですかねぇ、と困った顔を持ってこられる。問答無用で捨てるのが正しいスパム。これ以上増えたらますます扱いに困る、必要なものを捨ててしまう、とか想定されるので、ちょっと調べて作ったものの、こっちはこっちでパスワードを埋め込むのが気に入らない。


[21:56:09]

とか言ってたら、なんと大人の科学マガジンVol3は品切れじゃないか。中古・古本で5千円以上するってどゆこと。アマゾンで2冊買っときゃよかった。ううううむ。


ピンホールカメラ

『ピンホールカメラ』

大人の科学マガジン編集部

[更新]2026-02-04 11:07:10

<<2026/11>>
       
1234567
891011121314
15161718192021
22232425262728
2930

【最近の10件】

日常読書映画アニメゲーム健康料理グルメカメラ写真ネタ仕事パソコンインターネットperlEPUB3電子書籍ActivityPub
検索: