【雪だるま】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に持たせたい・持つべきな機能をあぶり出し、実装仕様を詰めていくことを目標にしています。 いんどメーターを起動。結果95いんど。どうみても(ry さて、ここもぼちぼち動かそうかなと思います。
本格対応は、お雑煮食べながらという感じになりそうな予感ですが。
で、やはりどうも必要になりそうなので、
とりあえず汎用のファイルコピー用APIを、bbsd側で作っていただけるとありがたいです。
パス1 を パス2 に単純にコピー、
パス2が既に存在したら EEXIST エラー、といった感じで。 >>360 そうですね.ロールバック対応が完了すれば,呪文も一通り対応完了でしょうし.
>とりあえず汎用のファイルコピー用APIを、bbsd側で作っていただけるとありがたいです。
>パス1 を パス2 に単純にコピー、
>パス2が既に存在したら EEXIST エラー、といった感じで。
了解です. ファイルコピー:
my $errmsg = bbsd($srcpath, 'cp', $dstpath, "$logfilename:$logline");
実装しますた. >>362
おつです、おつです。
今何か超速い番組やってるんで、
入れ替えは、のちほど。
# 元気に動いて、実況を支え続けているです。はい。 bbsd 更新したです。
これでひととおりのAPIがそろった気がするので、
こちらも、ぼちぼちと。 おふろ入っている間に思いついたので。
Samba24とか、timecount/timecloseとかの
DB管理系だけを、別のbbsdでお守りすることにして、
そのbbsdは、フロントエンドのどれかに持たせるというのはどうかなと。
で、つまり、bbsdのDB管理系部分だけの機能を有効にするような
起動オプションがあると、うれしいのかもなぁと。
ということで、本日はここまでで。 >>367 の心は、
こういうふうにすれば、バックエンドのbbsdを
少しでも軽くできるんじゃないかなぁと、そうゆうことで。 いずれにせよ面白そうなので、ちと考えてみるです。
というかたぶんここで、例によって。
・野球系・サッカー系を一かたまりにして、効率よく
・www/www2/menuをグレードアップ
あたりが命題で、すぐ使えるのは、
・live16 live18 live20
あたりですか。 >>367-368 そういうことであれば,起動オプションを新設するまでもなく
現状の bbsd を普通に立ち上げればいいと思います.
板ディレクトリと SETTING.TXT があって subject.txt がない状態なら,
そのままで DB 管理専用 bbsd として使えるかと.
DB 管理系 API を呼び出すだけなら,subject や dat の操作は一切行いませんし. >>371
おぉ、すばらしいです。
あとで、やってみるです。
これで、規制系DBをフロント(というか別サーバ)にもっていけると。 対応したです。
これで、live22のbbsdからこれらの仕事を分離できたと。
560 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/12/27(火) 04:23:13 ID:hh69QxeR0 ?
# 051227 bbsd複数体制(書き込み・IDの種用とDB保持用)に対応
# Samba24、●スレ立て、timecount/timecloseのDBのおもりを別サーバで
# これらに関してはbbsdがダウンしていてもとりあえず書き込みは可能に by む >>373 により、Samba24のデータをlive22x1のbbsdで面倒見るようになったので、
例の数値が出るサーバが、live22x1に変更になったです。>どくどくさぼてんさん 今後の作業をすすめていく場所ができました。
荒らすか(仮)@2ch掲示板
http://snow.2ch.net/alaska/
ローカル雪だるまで動いています。
各種呪文等は、今後ここでごにょごにょと対応を進めていくことになるのかなと。 >>375
削除の呪文を唱えるのに、かなり手間取るようなのですが
せめて板名を変えてもらえませんか?
現状の板名では
荒らし依頼や電番・サイト攻撃などの書き込みが集まる悪寒がします。
運営の人には面白い駄洒落なのかもしれませんが
荒らし公認ととられかねない板名は、やめて欲しいです。 >>376
> 削除の呪文を唱えるのに、かなり手間取るようなのですが
そうなんですか。
snowは「ローカル雪だるま」(= datそのものはsnowサーバに普通に存在)なので、
スレ削除とかスレ移動等の後に復帰の呪文が追加で必要になりますが、
呪文自体が「かなり手間取る(例えばlive22x => live22にしないと効かない)」ことは、
ないと思うです。
板名ですが、おじさん流の洒落すね。
私は正直あんまり気にしてないですが、ちょっとびっくりしたです。
(フォルダ名alaskaをお願いしたのは私ですが、その洒落は私は全く思いつかなかった) >>377 に自己突っ込み
で、もし仮に「かなり手間取る」が「別途復帰の呪文が必要」のことだとしたら、
それは「このとおりです鋭意なんとかします今は許してください」しかないです。
ごめんなさい。
ドウモスミマセン、コノトオリデスのAA↓ 要するに>>376さんは
削除が大変なんだからせめて削除対象になるレスを増やすような板名はやめちくれ
ってことかな そういう話ですか。>>379-380
SETTING.TXTを変えるのは私でもさっくりやれますが(板名にこだわりないし)、
kakolog.html とか kako/ とかは、どうすればいいのかな。 とりあえず、SETTING.TXTだけ変えてみた。 隠し板扱いだし、そもそも書き込み自体があんまりないような気がする。
そんなに気にしなくてもいいんじゃないの? 対外的(要請板取り扱いみたいなの)があるとやっぱり問題かとも思うけどねぇ
まあないか。 探知はされてるよ
http://snow.2ch.net/test/read.cgi/alaska/1135699588/5-6
>>381
>kakolog.html とか kako/ とかは
これそこらじゅうでむちゃくちゃになってるから
窓口決めといて >◆cZfSunOs.さん&rootさん、関係各位
本年もよろしくお願いします。
live22xのsage復帰ですが、一度で上手くいかずに何度か呪文を唱える事になりました。
呪文を唱えるたびに、42→36→34→33のようにsubjectのスレッド数が変化しました。
(上手くいっていれば一度で42→33になるはずです)
何らかの問題が潜んでいるのか、今回だけなのかわかりませんが、とりあえずご報告します。
またlive22x復帰する機会があったら、挙動をよく見ておきます。
http://qb5.2ch.net/test/read.cgi/operate/1127134565/686-688
よろしくお願いします。 >>386 こちらこそよろしくお願いします.
で,ご報告ありがとうございました.う〜む......sage 復帰でスレが subject から消される条件は
if (stat(*worker->paths, &st) && errno == ENOENT)
つまり dat ファイルへの stat() が失敗しかつ errno が ENOENT な場合ということなので,
何らかの原因で ENOENT 以外だったんでしょうか.いずれにせよこのあたり要観察ですかね.
# 番外編として,本来マルチスレッド環境で MT-Safe であるべき errno に虫がいるかも
# ってのもあり得なくはないのかも...... >>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 の原本と同じ鯖かな)? ■ このスレッドは過去ログ倉庫に格納されています