readc.cgiのクリーンアップを2時間ぐらいやっていたんだけど、コードが複雑すぎてすごい時間掛かりそう。
その場その場で1年以上継ぎ接ぎをしてきたからなんだけど、1から作るのもすごい大変。
特にファイル関連が複雑で、スレッドの生死判断、板名の抽出、スレッドの取得など
この辺りでコード全体の半分ぐらいを占めている。
一回、紙に書いて整理してから書かないと、また複雑になるだけだから
時間をかけてクリーンアップというか、1から作り直しなのでリメイクしていこうと思う。
ブレーカーが落ちてサーバーが止まってしまったので
fsckをかけてファイルシステムに不整合がないかチェックした。
開発中のクローラーの名前は「かざぐるま」に決定。
丸一日起動しっぱなしにしていたら、11,000スレも収集してた。
機能は前回からちょっとパワーアップして、更新の有無をチェックを付けた。
以下は、To Do
- (済) ファイルの格納先を設定ファイルで任意のフォルダ階層に出来るようにする。
- メモリ使用量の改善(現状ピークで8MB切る程度、アイドル時は1MBを切る)
さて、後は何を付けようかな?
一昨日書いたToDoはこんな感じだったんだけど、概ね消化することができた。
- 巡回スレッド数の設定 → 実装完了
- 取得する最低レス数の設定 → 設定部分は終了あとは実装だけ
- 定期実行 → 実装完了
作業を進めるに当たって、一つ問題があって、DOSプロンプトを消すことが出来ない状態。
つまり、ふたばブラウザの双助だったり、ニコニコ動画のローカルプロクシNicoCacheみたいな状況。
どうにかこれを打開できないか考えてみたのだけれど、WinBinderを使うとGUIウィンドウがハングするし
タスクトレイに入れられるらしいPHP-GTK2は、PHP5で動かない。
PHP CompilerというPHP5に対応したコンパイラも有るんだけれど、これはPHP-GTKのエラーが出て動かない。
うーん、どうしたものか。
ユーザー側でタスクトレイに入れるソフトを使うという手も有るけど…。
もうちょっと情報を集めてみよう。
PHPのソースは、bamcompileを通せばWindowsで動いたりするのですが、
PHP4系の関数しか使えず、PHP5の便利関数(streamget_contentsとか)が使えなくて結構不便です。
まぁ、大したことではないので、その辺りはサクッと対処してWindows用クローラーをでっち上げてみた。
設定ファイルを読み込んで、リストされている板からスレッドを全部ダウンロードする方式。
つまり、ぶっこぬき方式で、あまりサーバーには優しくない。
試しにキー局の実況板とニュース速報VIP、ニュース速報で回してみたところ、
取得を始めたのが7時46分で終わったのが8時19分とかなり時間が掛かった。
取得したスレッド数は、合計1,285スレッドで47.3MBなので、1スレッド辺り1.54秒ぐらい。
それほど遅いって言うわけでもないけど、1回の巡回が33分ってのは良くないなぁ。
実況板だけに絞ればそれなりに回ってくれそうだし、大晦日の本番に備えてここらは調整してみよう。
ちなみに、このバイナリはそのうち配布するかも。
最近IEが頻繁に固まるようになってしまったので、ちょっと原因の究明ついでに
IEからLunascapeに乗り換えてみた。
なんだかメニューの展開が妙にもっさりしてるけど、これはこういうものとして
諦めるしかないのかなぁ?
今まではデスクトップからすぐタイトルバーがわからないと嫌だったんだけど、
なんか色々とどうでも良くなってしまったので、今回乗り換えた。
表示自体はIEエンジンとGeckoなので、問題なし。
1KBも無い簡易なWikiっぽいスクリプトを作ったので、それでページをいくつか作り直そうと計画中。
正確には管理システムではないので、CMSではないわけだが。
既にあるPukiWikiにまとめようとも思ったけど、わざわざスタイルシートいじって確認したりするのが面倒なので
必要最低限のパラメータだけ書けばHTMLで出力できるようにした。
トラックバック、コメント、カウンタ、そんなものは要らない。
せいぜい最終更新日時とタイトル、コンテンツが有ればいいさ。
MGOの拡張パックがもうそろそろ発売されるわけですが、気になるのがその値段。
MEME EXPANSION単体は1200円。2個のEXPANSIONパックがセットになったGENE & MEME EXPANSIONが1500円と、
何故か300円しか値段に差がないこと。
しかも、MEME EXPANSION(1200円)はGENE EXPANSION(1200円)購入済みの人しか買えないという
新規ユーザーに優しく、継続ユーザーには厳しいなんだか良くわからない値段設定。
せめて、もうちょっと値引きしてMEMEを800円ぐらいに、GENE & MEMEを1800円ぐらいにするべきだったんじゃないかなぁ…。
9月下旬に発生したDNSキャッシュサーバーの障害について、ユーザー掲示板で対象ユーザーは
10月15日頃までに「無料でXREA+の有効期限を90日間延長する」とされていたのだけれども、
待てども、待てども、一向に期限が追加されないのでサポートに問い合わせてみた。
すると、次の日の朝、サポートから「対応しました。再度ご確認ください。」と
メッセージが返ってきており、90日間の期限が延長されていた。
対応するならちゃんとアナウンスした時期にちゃんと実行して欲しいのだけれど、
ただユーザーがのんびりしているだけではダメなんだなと、改めて思った。
# ひととおり作りたいものが終わってしまったので、
# 次に作りたいものが見つかるまでひたすら更新作業をすることにします。
板毎に手動でwgetなんちゃらと書いて定期的に呼び出していたものを
ディレクトリリストを読み込んでシェルスクリプトを自動で作成するように切り替えた。
と同時に、クロールスケジュールもこのディレクトリリストから作成するようにして、
転記ミスが発生しないようにした。
いよいよ1割近い板を巡回するようになったわけですが、
転送量もさほど増えないし、巡回スレッド数も2500~3000スレ/日とそれほど増えている様子はない。
2chのdatに割いているのはプライマリの46.57Bとデイリーバックアップ用途の36.55GB。
プライマリの使用容量は27%なので、およそ12.5GB…
あれ、おかしいな2ヶ月前から2.5GBぐらいしか増えてない。
これは案外HDDが持つかしれない。