いままで、あーでもないこーでもないといろいろ弄ってきましたが、CMSを導入することにしました。
今、設定と格闘しています。
もともとページ数はあまり無いので、そのうち移行が完了すると思います。
いままで、あーでもないこーでもないといろいろ弄ってきましたが、CMSを導入することにしました。
今、設定と格闘しています。
もともとページ数はあまり無いので、そのうち移行が完了すると思います。
新しい環境を用意してます。
XML::Simpleはいつも怒られますね。
cpan> install XML::Simple
Running install for module XML::Simple
Running make for G/GR/GRANTM/XML-Simple-2.18.tar.gz
Is already unwrapped into directory /root/.cpan/build/XML-Simple-2.18
Makefile.PL returned status 65280
Running make test
Make had some problems, maybe interrupted? Won't test
Running make install
Make had some problems, maybe interrupted? Won't install
まぁ、よくわかんないので、yumのおまじないを唱えることにします。
perlのモジュール系でエラーが出たら、perl-[モジュール名]でインスコできることを最近知りました。
# yum install perl-XML-Simple
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
* addons: ftp.nara.wide.ad.jp
* extras: ftp.nara.wide.ad.jp
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package perl-XML-Simple.noarch 0:2.14-4.fc6 set to be updated
--> Processing Dependency: perl(XML::Parser) for package: perl-XML-Simple
--> Running transaction check
---> Package perl-XML-Parser.i386 0:2.34-6.1.2.2.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-XML-Simple noarch 2.14-4.fc6 base 68 k
Installing for dependencies:
perl-XML-Parser i386 2.34-6.1.2.2.1 base 210 k
Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 278 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): perl-XML-Simple-2. 100% |=========================| 68 kB 00:00
(2/2): perl-XML-Parser-2. 100% |=========================| 210 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: perl-XML-Parser ######################### [1/2]
Installing: perl-XML-Simple ######################### [2/2]
Installed: perl-XML-Simple.noarch 0:2.14-4.fc6
Dependency Installed: perl-XML-Parser.i386 0:2.34-6.1.2.2.1
Complete!
わーい、わーい
XML::Simpleが遅いというか重いというか。
調べてみるとXML::LibXMLが便利らしい。
それなら使ってみようかと調べてみるが・・・
XML系モジュールのベンチマーク盗用記事しか見つからない。
まともに使い方を説明しているところが無かったので、ソースを読む羽目になる。
とりあえず、WCGのデータからLastUpdatedを取得する方法
my $parser = XML::LibXML -> new();
my $dom = $parser -> parse_file( $set{'target'} );
my $lastUpdated = ( $dom -> getElementsByTagName( 'LastUpdated' ) )[0] -> findnodes( '.' );
しかし命名法則としてXML::LibXMLはいいのだろうか。
再開に向けて、スクリプトを見直してます。
XMLファイルの処理が問題です。
XML::Simpleが異常にメモリを食うのです。
Core2マシンではさほどたいしたことはないのですが、
ペンⅢ800Mマシンにとっては致命的。
なぜかメモリをどんどん食いつぶして180Mぐらい食ってプロセスが固まります。
といってもゾンビになるわけではなくて実行中のまま。
よくわかんない。
そろそろXML::LibXMLの出番かな~
Windowsの場合、ppmのリポジトリを追加してからインストール
ppm install XML-LibXML Downloading bribes packlist...done Updating bribes database...done ppm install failed: Can't find any package that provide XML-LibXML D:\homepage\wcg-team2ch>ppm rep add "theoryx" "http://theoryx5.uwinnipeg.ca/ppms/" Downloading theoryx packlist...done Updating theoryx database...done Repo 4 added. > ppm install XML-LibXML Downloading theoryx packlist...not modified Downloading XML-LibXML-1.64...done Downloading XML-SAX-0.16...done Downloading XML-NamespaceSupport-1.09...done Downloading XML-LibXML-Common-0.13...done Unpacking XML-LibXML-1.64...done Unpacking XML-SAX-0.16...done Unpacking XML-NamespaceSupport-1.09...done Unpacking XML-LibXML-Common-0.13...done Generating HTML for XML-LibXML-1.64...done Generating HTML for XML-SAX-0.16...done Generating HTML for XML-NamespaceSupport-1.09...done Generating HTML for XML-LibXML-Common-0.13...done Updating files in site area...done Downloading XML-LibXML-Common-0.13 install script...done Running XML-LibXML-Common-0.13 install script...Set up gcc environment - 3.2 (mingw special 20020817-1) A copy of the needed library libxml2.dll was found in C:\Tcl\bin\libxml2.dll. If this is compatible with the version (2.6.27) used to compile the Perl module, all that is needed to complete the installation is to ensure C:\Tcl\bin\libxml2.dll is in your PATH environment variable. Fetch libxml2.dll? [no] Aborting download of libxml2.dll. done Downloading XML-LibXML-1.64 install script...done Running XML-LibXML-1.64 install script...Set up gcc environment - 3.2 (mingw special 20020817-1) Do you want to alter ParserDetails.ini? [yes] C:\Perl\bin\perl.exe -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()" C:\Perl\bin\perl.exe -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()" done 103 files installed
ちなみに
cpan install XML::LibXML
ではNOT OKといわれる
Linuxの場合
cpan install XML::LibXML
では散々エラーをはくが、
yum install perl-XML-LibXML
でok。
使い込んでいるとは家、まだまだ奥の深いLinux
yumに、パッケージのインストール先を追加してみる。
PHPで言うならばPEARやPECLみたいなもの。
検索すると以下のコマンドが紹介されている。
# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
実行すると
–02:51:08– http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
dag.wieers.com をDNSに問いあわせています… 62.213.193.164
dag.wieers.com|62.213.193.164|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています…
301 Moved Permanently
場所: http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm [続く]
–02:51:09– http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
dag.wieers.com:80 への接続を再利用します。
HTTP による接続要求を送信しました、応答を待っています… 302 Found
場所: http://rpmforge.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm [続く]
–02:51:09– http://rpmforge.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpmforge.sw.be をDNSに問いあわせています… 130.133.35.16, 88.198.65.175
rpmforge.sw.be|130.133.35.16|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 16698 (16K) [application/x-rpm]
Saving to: `rpmforge-release-0.3.6-1.el5.rf.i386.rpm’
100%[=======================================>] 16,698 26.7K/s in 0.6s
02:51:11 (26.7 KB/s) – `rpmforge-release-0.3.6-1.el5.rf.i386.rpm’ を保存しました [16698/16698]
ファイルが移動しているので、今後は以下のアドレスがいいだろう。
wget http://rpmforge.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
次に、リポジトリのインストールを行う
# rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
警告: rpmforge-release-0.3.6-1.el5.rf.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
準備中… ########################################### [100%]
1:rpmforge-release ########################################### [100%]
う~ん、
参考にしたのはここ
http://centos.oss.sc/fundamentals/yum_rpmforge/
基本的にGUI。
Webminがインストールされている前提です。
左のフレームより、サーバ>ProFTPD Server
インスコされていなければ「Click here」でインストール
Installing package(s) with command yum -y install proftpd ..
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: ftp.oss.eznetsols.org
* updates: ftp.oss.eznetsols.org
* addons: ftp.hostrino.com
* extras: ftp.oss.eznetsols.org
Setting up Install Process
Parsing package install arguments
No package proftpd available.
Nothing to do
.. install complete.
インスコ完了か・・・と思うとハマる。
よくよくみるとno package
しかたがないのでrpmを探しに出る
が、rpmは用意されていないので、
・・・なんだっけ?
インスコしたときは切羽詰まっててできたけど、
いまど忘れ。
思い出した。
http://dag.wieers.com/rpm/packages/proftpd/
ここでrpmを作って配布してくれているのでお借りする。
CentOS5なので、proftpd-1.3.1-1.el5.rf.i386.rpm でいいはず。
# rpm -ihv proftpd-1.3.1-1.el5.rf.i386.rpm
警告: proftpd-1.3.1-1.el5.rf.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
準備中... ########################################### [100%]
1:proftpd ########################################### [100%]
なんか警告されいてるけどしらんぷり。
再度WebminでProFTPDを開くと、めでたく画面が表示されます。
ためしにサーバを起動すると問題なく起動
service proftpd start
proftpd を起動中: [ OK ]
後細かい設定は勢いで済ませた覚えてない・・・やばいな。
落ちる頻度があまりにも高いので、
サーバーのOSをWindowsからLinuxにします。
とりあえず、一番使い込んでるCentOSになります。
あと、日報ですが、新しく線を引くか、
誰かにIPブロックを解除してもらえるようにフォーラムに凸してもらわないと、
つなげないものはどうしようもありません。
引越しすることになったら、新しい回線になるので、
また再開は出来るかもしれません。
Windowsでメールを送信するには、melonという便利ツールがあった。
http://seclan.dll.jp/download.htm
このツールを起動して、
phpで使いたかったので、php.iniは
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = 127.0.0.1
これだけで、mail()やmb_send_mail()が使えるようになる。
私はチーム名「Team 2ch」の解析結果をサイトで公開しているものです。
www.worldcommunitygrid.org/boinc/stats/user.gzのファイルでは、
解析時間やリザルトの提出率といった情報が欠けているため、
やむなく個別ページのXMLファイルを取得しております。
しかしこの方法では、500エラーも多く、期待したレスポンスが得られないことが多発しております。
最近では、リクエストを一定時間受け付けないというメッセージも表示され、
チームに所属するユーザーの情報を取得し終わるのに時間がかかったり、
場合によっては次の更新までに完了せず、取得を断念せざるを得ないこともありました。
このままでは負荷をかけ続ける原因として、当方がアクセスを拒否されることを懸念しており、
解析結果を楽しみにしているTeam 2chに所属するメンバーへの影響も考えられます。
こちらの希望といたしましては、個別ページの情報を効率よく取得できる方法を用意していただくか、
または、www.worldcommunitygrid.org/boinc/stats/user.gzに欠けている情報を補っていただけないものか、
ご相談に伺いました。
よろしければご検討いただければ幸いです。
以上
355 404 sage 2008/07/16(水) 22:35:26 ID:???
前にも書いた気がしますが。
これだけ頻繁に500エラーを返すんだから、他の参照方法を用意してくれればいいんですけど。
今のやり方では、人が増えるほど取得が難しくなってしまいますね。
BANされないかヒヤヒヤです。
WCGは7千件でこの状況ですが、
UDは6万件もあったのに、これほどひどい状況にはなってなかったと思います。
F@hでは、テキストファイルを落とすだけなので、すごく楽です。