【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
■ このスレッドは過去ログ倉庫に格納されています
雪だるま作戦において開発をすすめているbbsdでは、
+- [ フロントエンドサーバlive22x1 ] -- ユーザは
[ バックエンドサーバlive22 ] -+- [ フロントエンドサーバlive22x2 ] -- live22xという代表名で
制御プログラムbbsd +- [ フロントエンドサーバlive22x3 ] -- これらにアクセス
| | | dat直読みや、
dat subject.txt subback.html bbs.cgiやread.cgiやofflaw.cgi、
書きこみログ(芋掘り)ファイルなど (こちらは基本的に書き込み操作なし)
(書き込み操作はこちらで)
# 復帰/削除cgiなどについては、さてどっちかな => 今後の課題
という形で「ユーザの相手」と「各種ファイル処理」を複数のサーバに分業することにより、
さらなるパフォーマンスの向上を目論んでいます。
つまりこの場合、dat/subject.txt/subback.htmlは
バックエンドサーバで動作するbbsdというプログラムがリクエストに応じて生成し、
更新や場合によっては削除する形となります。
ということで、bbs.cgiをはじめとする従来2ちゃんねるで動いているcgiでは、
これらが同じサーバにあるつもりでファイル操作をしていましたが、
上記に示すように、少なくとも元本は同じサーバにはなくなるため、
何らかの形で対策を考慮する必要があります。
また現在、ID生成の種やSamba24や
timcount/timeclose等の規制関係で使用している一時ファイル等、
複数のフロントエンドサーバが同じ情報を、
何らかの形で共有する必要があるものもあります。
このスレッドではこれらの処理方法や実装方法について考えながら、
bbsdに持たせたい・持つべきな機能をあぶり出し、実装仕様を詰めていくことを目標にしています。 >>386-387 について......「要観察」といっても,現状だと ENOENT 以外が発生しても
何が起きたか見当もつかないんですよね.ということで,ENOENT 以外が発生したら
エラーリターンになる($errmsg にメッセージを返す)ようにしますた. >>388
お、年始早々bbsdの更新ですか。
やっておくです。
APIのほうでも、ちゃんとエラーチェックしないといかんということですね。 >>389-391 乙です.まぁ $errmsg をそのまま表示でいいんじゃないかと思います.
どちらにせよ現状では何が起きたのかもわからないので,それ以外やりようがないでしょうし. datのレス数とsubject.txtのレス数が違っていた場合に、スレに
書き込んだ時の、subject.txtのレス数の処理はどうなっていますか。
通常のbbs.cgiでは、subject.txtのレス数に関わり無く、書き込む度に
datからレス数を数え、その数をsubject.txtに書き込んでいた為、
subject.txtのレス数が異常でも、そのスレに書き込めば直ったのですが。
というか、これ。
http://live22x.2ch.net/test/read.cgi/eq/1136722083/
subject.txtのレス数がdatより1多い状態になっているのですが、
スレに書き込んでも、subject.txtのレス数がそのまま+1されるだけの
ようで、はて、どうしたものかと。
通常の板復帰では、subject.txtに載っているスレは、レス数を数えて
直してはくれないはずですし。
古い完全復帰なら直してくれた気はするけど、どうだったかな。 >>393 う〜む......datがおかしくなった原因は不明ですが......
# 透明あぼーんがあったとか? bbsd を経由しない形で dat の内容が
# 変更されるようなことがあれば bbsd 的には想定外の事態ではあるんですが......
復帰(bbsd の repair コマンド)を実行すればカウントし直します. >>393-394
うーむ、呪文対応をはやいとこすすめないと。 どもー。
こちらさんの復帰はレス数も直してくれるのですね。
では、復帰を依頼する方向で。 管理人の方々お疲れ様でつ。
今から工房の携帯から妄想がたれ込みますが脳内阿保ーんお願いします。(じゃあ書くのやめれとか言わんでくれ
)
どっかにスレ情報書き込んであるデータ生成すれば板設定変更出来るlocal.info作って見たり。
なかったらデフォルト呼び出し。
アクセス権に色々背負わせてみるのも面白いかもグループとかは使わない?から[0-7]でそれぞれにスレスト・1000越え・512K制限・普通・隠し・ゴミ箱行き・移動とか?
そうするとゴミ行きが分かり安いかな?
呪文唱えるときはbashでまとめたいなぁ。
#タイムアウトを
#
##タイム
##アウト
##ヨヨイノ
##
##
##ブーン(AAry
#
#にして欲しい。みたことないけどw 【焼きもち】自治スレ
http://live22x.2ch.net/test/read.cgi/news/1144769649/333
333 名前:FOX ★[sage] 投稿日:2006/04/12(水) 05:16:29.51 ID:???0
しかし
live22 は特殊なので使われていないキャップあぶり出し機能が動いていないことに
気がついている
なるほど。
bbsd で touch する I/F は前に作ってもらったので、技術的にはできるはず。 >>399
汎用 touch ルーチン(スレッド924用)を流用することで、対応できました。
これで、plus 系もやろうと思えば雪だるまにできるはず。 >>401
お前は死刑だ 不倫関係があったのでこれより死刑に処する アリの巣コロリってあるじゃん
蟻の行列にポンと置くと一瞬ビックリして列が乱れる
邪魔だなと言わんばかりに迂回する列が出来る
そのうち好奇心旺盛な一匹がアリの巣コロリに入る
そいつをマネして何匹も入る
毒とも知らずにツブツブを運び出す
一匹が一粒づつ
いつのまにか行列はアリの巣コロリが折り返し地点になる
黄色い粒と黒い蟻が作り出す模様は綺麗で見てて楽しい
一匹が一粒づつ丁寧にせっせと毒の粒を運ぶ
せっせとせっせとせっせとせっせと
蟻さんって働き者だなと思う
俺も頑張らなきゃなと思う
次の日あれほど沢山いて俺を困らせた蟻が一匹もいない
ほんとにいない
探してもいない
泣きたくなった
このレスを見た人は4日後にあなたの大切な人がいなくなるでしょう
それが嫌ならこのレスを5つの板にコピペしてください
信じるか信じないかはあなた次第です ごっ
ごめんなさいっ
雪だるまスレってここじゃなかったのか。。。 >>412
ごめんなさいです。
nanmin のいつもだらだらと過ごしている例のスレのつもりでした。
# 落ち着いたら、このスレも動かしましょうってかんじで。 mod_cacheとmod_proxyを併用してる場合のキャッシュのヒット率って
どこを見るとわかるんでしょうか、、、
>>415 mod_cache にはヒット率を記録する仕組みはなさそうですね.
調べるとすれば,アクセスログで %{Age}o つまり Age レスポンスヘッダを記録して,
Age ヘッダの有無の比率から算出するとかかなぁ...... おぉ、、ログにそんな設定ができるんですか、
どもです。どもです。
LogLevel debug にしてみるとか。実運用中は無理ですけどね。 とりあえず,いくつか API 追加・引数変更で......
さるさん:
my $n = bbsd($bbs, 'chkthrtimecount', $key, $age, $timecount, $timeclose, $id, "$logfilename:$logline");
# http://qb5.2ch.net/test/read.cgi/operate/1157125151/1
# の説明でいうところの
# $age = H (秒), $timecount = N, $timeclose = M
# 戻り値: 引っかからなかったら 0,引っかかったら非 0
ファイルサイズ取得:
my $size = bbsd($path, 'getfilesize', "$logfilename:$logline");
板のアンロード:
my $errmsg = bbsd($bbs, 'unload', "$logfilename:$logline");
# subject データをフラッシュし,板のデータをメモリ上から解放
# (板移動時に bbsd を止めなくてもいいように)
指定されたファイルを新たな dat として板に加える:
my $errmsg = bbsd($bbs, "inject:$key", $path, "$logfilename:$logline");
# 削除されたデータの復活用
レスの通常あぼーん:
my $errmsg = bbsd($bbs, "delete:$key", $range, $deletename, $savepath, "$logfilename:$logline");
# 引数追加; $savepath にあぼーん前の dat を退避
レスの透明あぼーん:
my $errmsg = bbsd($bbs, "tdelete:$key", $range, $savepath, "$logfilename:$logline");
# 同上 >>420
おー。
# 今日はかなーり体調不良につき、bbsd の更新などは後で、、、。 んなわけで,呪文対応もぼちぼちやってこうかなぁ,と思っている今日この頃だったり......
>>421 手の空いてる時にでもおながいします<bbsd 更新 一通り対応したつもり......ってことで,とりあえず snow と dso に入れてみますた.
ただ,snow で動いてる bbsd は古いままのようなので,更新してもらうまでは
ちゃんと動かない呪文もあると思います.一方,dso では今は bbsd を使ってませんが,
その状態でもちゃんと動くかどうかの確認のために入れてます. 出張から戻りました。
これから更新作業するです。
対象は、
- live23b
- live24b
- snow
- (news20b)
かな。 >>425 乙です.今 bbsd が動いてるのはそのあたりですね. >>427 乙です.
ってことで,削除人などの方々に適宜テストしてもらえれば,と...... おつです。>>424
普通に snow と dso で、
標準の削除系呪文を使って作業いただければいいんですよね。
であれば、ここのスレッドで削除人の方々に呼びかけるのがよさげです。
このスレッドをポイントするといいかも。
↓
☆ 連絡&報告 8 ☆
http://qb5.2ch.net/test/read.cgi/saku/1166164805/ おっと、>>428 ですね。 < アンカー
今日は出張帰りでへろへろなんで、ちと早寝コースで。
# ホテルの部屋の乾燥がひどくて、すっかり喉をやられた、、、。 で、この作業が終わって、標準呪文に組み込まれれば、
雪だるまサーバ(live23/24)で削除系作業をした場合でも、
復帰作業等が不要になるはずと。 >>429-430 そうですね,ではそちらで呼びかけてみます.
お休みなさい&お大事に. >>431 ですね.積み残しだった懸案が片付くことになる,と. レス削除 透明レス削除 スレッド移動 スレッド削除 スレッド停止
をそれぞれ3つの掲示板で試してみました。
通常どおり起動しますよ。
削除処理はしてませんけど。
http://snow.2ch.net/alaska/ (bbsd 使用)
http://dso.2ch.net/myanmar/ (bbsd 未使用)
http://dso.2ch.net/yangon/ (bbsd 未使用) >>434 どもども,ご協力ありがとうございます.
>通常どおり起動しますよ。
ということは,その範囲では特に問題はないということかな.ただ,
>削除処理はしてませんけど。
っていうのは,ひょっとして呪文を唱えてもあぼーんされなかったとか......? 乙ですー
実際に削除までした方がいいのかな?
動作テスト用、削除用スレとかないとやりにくいのが
まじめな(以下自粛 >>435
削除スクリプト通常どおり動いていましたよ。
ただ実際に削除はしなかったです。
テストスレッドとかあれば実際に削除してみますけど。 >>436 >>437 なるほど,そういう意味ですか.
snow, dso はテスト鯖なんで,適当にスレ立てたりレス付けたりして
自作自演あぼーんでもいいのではないかとw ただ,こちらでも
実験用スレ立ててみますかね...... http://snow.2ch.net/test/read.cgi/alaska/1148818479/75-81
レス削除と透明のテストどぞ。
テスト削除がOKになった裁定があった気がするけど、やはり微妙に抵抗があるなぁ。
スレについてはどうだろう?テスト用のスレとかがしがし立てて良い板なんすかね? じゃあ俺が糞スレ建立してくるからお前ら遠慮なく呪文唱えてくれ >>438 と思ったら,どなたかがちょうどいい具合にスレ乱立してくれてましたw
まぁ,私自身 dso では最速 1000 みたいな,
他の場でやれば荒らしになるようなこともやってましたけど.
>>441 よろしくw >>440
レス削除 透明削除 完了です。
スレッド移転、スレッド停止、スレッド削除ともアラスカはできました。 みなさまおつです。
被りそうなのと、寝坊がこわいので撤収。
お役にたてなくてスマソ。
過去ログスレ呪文のテストが必要だったら、移転跡が落ちてからそれを、がいいかも。
>>443-445 >>447 乙です.一通り無難に動いてるって感じですかね.
1日ぐらい様子見て,特に問題なさそうなら live23, live24 に投入の方向で.
# 乱立してくれた方も乙です.
と思ったら......
>>446 う〜む,そのスレはどういう経緯をたどったんだろう......? >>449-450 あぁ,そういうことですか(bbsd の誤作動かとヒヤヒヤしてました).
これは,今までの元の呪文でも全レス透明あぼーんは可能なようだったので,
仕様ってことでいいのかな......? 全レス削除って・・・鷺が賑わうだけってことで
試すにはもってこいだったわけですかw
そんなこと実際にはやらない筈だから放置でいいんじゃないかとw
>>454 bbs.cgi が作る subback.html に最近加えた変更
(表示スタイル切り替えなど)も反映させてますね.
で,live23, live24 では今まで bbsd 未対応の呪文はバックエンドで動かして
フロントからは mod_proxy で渡すという ad hoc な対応をしていましたが,
今回対応した呪文の多くはフロント側で動かしてもらっておkってことになります.
ただ,一部の呪文はローカルマシン上での処理が必要なためバック側で動かしてもらうと
(それでも,subject.txt やライブな dat の操作は bbsd 経由で行います).
このあたりの振り分けについては,live23, live24 への投入時に別途メールででも. さて......特に問題なさげなので,live23, live24 に bbsd 対応呪文入れますた.
で,>>455 の振り分けの件についてはむむむさんにメールをお送りしますので,
mod_proxy の再設定おながいします.
あと,今回対応した呪文は bbsd 使用/未使用どちらの鯖にも対応してる
ということで,原本にマージしていいのかな(bbs.cgi の原本と同じ鯖かな)? あの、、この件?でむむむさんに、メール送りました。 今回対応した呪文に何らかの動作上の不具合があって,それがここに書くのが
はばかられる内容のことであれば,私の方にもメールを頂けると幸いです.
sunos (at) saita.ma >>459 メール拝見しました&お返事お送りしましたので,よろしくです. いただきました。ありがとうございました。よろしくお願いします。 >>456
> むむむさんにメールをお送りしますので,
> mod_proxy の再設定おながいします.
を、したつもりです。(お返事もしました) >>462 体調よくない中,乙です.
これで,やっと雪だるまもちゃんとした形になったかな.
# http://qb5.2ch.net/test/read.cgi/operate/1168773296/949
# もちょっとびっくりしましたが,調べてみると
# 新呪文投入前のスレあぼーんが原因だったようで,一安心. 乙です。乙です。
確認です。ありがとうございました。 bbs.cgi 原本があるのと同じ鯖にも入れますた<bbsd 対応呪文
(今までのやつはホームディレクトリ配下の某所にバックアップしてます). >>466 ここ数日のはあぼーんによるものじゃないっぽいので,F15 / F22 なんですかねぇ......
とりあえず,F15 / F22 で purge しても差分がまだ残ってるなら,
autopurge してログにも記録するようにしてみましたが,さて...... >>466-467 について,なぜそんなことが起こるのだろう?と思いつつ,
F15 / F22 のスクリプトのロジックを検証しても
それが起こる原因が思い当たらないし,Perl のエラーを
ログに記録するようにしてもエラーが起きたという形跡は残ってないし,
ということで不思議でしょうがなかったのだけど,
デフォルトアクションがプログラム終了となるシグナルを
捕捉するようにしたら,やっとしっぽをつかんだ.
2007/05/09 22:39:03 Got signals: TERM, PIPE
どうやら,subject.txt 更新処理に入る前にそういうシグナルを
受け取ると差分が発生しちゃってた,ということっぽい.
で,そのシグナルハンドラを設定するようにしてからは
「差分発生 -> autopurge 発動」ってのは起きてないようなので,
要はそれらのシグナルでプログラム終了にならないようにすればおk,
ということらしい. ■ Top700、トワイライト6833作戦。
http://qb5.2ch.net/test/read.cgi/operate/1175843779/97
板名はbbsdが知っているはずなので、
あのファイル.txt に板名をはめ込む何らかのメタ文字列を使えるように、
bbsdを改良すればいいのかしら。 まぁ、一般的に広告内でその板名を使う、
なんてことは今後もありそうなので、
入れておいてもきっとバチは当たらないのかなと。 でもyakin広告は、普通の広告のようなtxtの貼り付けじゃなくて、
requireしたperlプログラムで書き出してるよね? >>473
雪だるまシステムでは、あの部分もtxt貼り付けですね。 そもそも index.html を Perl で生成していないし。< 雪だるまシステム >>470-473 bbsd を使ってない鯖でも,広告で板名を埋め込むには,
bbs.cgi から「あのファイル.cgi」中の広告用サブルーチンを
呼び出す部分を変えないとできないんじゃないでしたっけ.
なので,bbsd にその機能を入れるとしたら,
bbs.cgi 自体もそういう形で変えることになるのかなぁ......
ちなみに,bbsd を使ってる鯖で用いられる「あのファイル.txt」に関しては,
「あのファイル.cgi」が更新されると F22 が「あのファイル.cgi」から
「あのファイル.txt」を自動生成するようになってます.
その仕組みもちゃんと動いたようで.
http://live23.2ch.net/livecx/ http://live24.2ch.net/eq/
http://ex21.2ch.net/tv/ http://wwwww.2ch.net/news4vip/ >>477 第一段落
今bbs.cgiの該当部分読んできました。
なるほど、確かにそういう形なのかもしれないですね。
>>447 第二段落
なるほど、そういうふうになっていると。 >>470-478
>bbs.cgi から「あのファイル.cgi」中の広告用サブルーチンを呼び出す部分を変え
ってのは行われていたようですね.ということで bbsd 使用時にも対応させるようにしますた.
ただ,bbsd で広告ファイルの内容を挿入する際には mmap() したのをそのまま
ダイレクトに出力してるわけですが,中身をパースして板名に置き換えるマークを探して
置換するとかいちいちやることになると mmap() するメリットも失われてくるので,
bbsd 側の処理は変更せず,その代わり F22 であらかじめ広告テキストファイルを各板ごとに作成しておき,
bbsd 呼び出し時に板ごとに異なるファイル名を指定するという形にしますた. >>479
news22の現状見ました。なるほど。
ということは、live23等の各bbsdも更新ということでいいのかしら。 >>480 bbsd 側は変更してませんので,更新は不要です. >>481
あ、わかった。
まだ見てないけど、bbs.cgi のあそこの引数をむぎゅしたですか。了解です。 read.js関連のスレってもう見つからないみたいだけど、そのネタここでいいの?
read.jsモードにして、Firefoxでいろんなスレ見てると、
時々永久ループに陥るのか、固まってしまってアプリ落とすしかなくなってしまうよ
バグなのかな。1日数回、かならずなるよ。
もしスレ違いなら伝えておいて!よろ! >>484 こちらでも Firefox 使ってるんですが,そういう現象にはお目にかかったことはないですが......
まぁ,どのスレでそういう現象が発生したかとかいうことを
Firefox のバージョン等と併せ報告してもらえればと.
ただ,ここではスレ違いなので,以降は↓あたりで.
2chの動作報告はここで。 パート22
http://qb5.2ch.net/test/read.cgi/operate/1182679645/l50 Do you need fo free hosting? ?[url=http://kawaiaea.iquebec.com/page10.htmll]Best free hosting list[/url] ■ このスレッドは過去ログ倉庫に格納されています