mieki256's diary



2004/11/02(火) [n年前の日記]

#2 [hns] _hnsローカルミラーシステム

_(via void GraphicWizardsLair( void ); //)(1) _(2)
導入してみたり。もう遅い気もするけど。軒並みプライベートモードになってるわ…。もっと前から導入しておけばよかった。

lib-www モジュールが必要 :

Vineの場合は apt-get install perl-libwww-perl でインストール可でした。

最初の取得でコケる… :

途中いくつか取得できないページがあるなぁ。Sleipnirで開くと見えるので、リンク切れではなさそうだけど。なんだろう。UserAgentとか、Cookieとか、Refererとか、そのへんかな。

リンク切れしているページでも、すぐに404を返すURLと、長い間何も返してこないURLがある。うーむ。

「Transfer truncated: only 101888 out of 101889 bytes received」とメッセージが出て、確実にそこで止まってしまうページが。うーん。

しかも再度実行すると、最初から取得し直しになってしまう。おそらく、日々運用してる分には取得量も少ないのだろうと想像するのだけど。とりあえず、ファイルが既にローカルに存在する場合は、mirror(...) をスキップするようにしてみたり。

@EXCEPT_URL に列挙したURLは取得しないのか。なら、返ってくるのが遅いURLだけ、列挙していけばいいのだな。ただ、元々のスクリプトだと、表示されてるURLの、次のURLで止まってたりするので、ちょっと注意が必要かも。うっかり、今現在表示されてるURLで止まってるのかと思って、関係ないところを修正してしまった…。

Vineはlockfがないみたい :

_Manpage of LOCKF を見ると、
Linux では、この関数は単に fcntl(2) へのインターフェースである。
とあるけれど。Vine は fcntl も見当たらず。何で代用できるのやら。 _LOCKFILE とやらを使うのかしら。

しまった :

LINKコマンド行の最後に改行文字を入れておくと、ミラーのURLへのリンクだけが次の行に表示されてしまう。うーん。今まで書いたhnfを修正するのは無理なので、theme.phを弄って、ミラーのURLを、本来のリンクの後ろじゃなく、前のほうに表示することにした。

crontabで一応登録 :

ひとまずロック処理は放置しておこうか… <オイ。30分おきにチェック。

あ。そうか。ミラーを残しておきたい場合は、その瞬間瞬間でhnfをアップしておかないと効果がないのだな。今までのように、1日分をまとめてドン、では、その間に消されてしまう可能性もあるのか。

この記事へのツッコミ

Re: hnsローカルミラーシステム by otsune    2004/11/03 09:09
daemontoolsをインストールしてsetlock -nを使うことでも代用できますよ。
あとは要するにローカルミラーのスクリプトで二重起動を防止すれば良いだけなので、Perlでflock( LOCK, 2 );してロックしてもいいかも。
Re: hnsローカルミラーシステム by mieki256    2004/11/03 09:33
おお! 情報ありがとうございますです。
ちょうど今、「ロック処理、どうしようかなー」と
悩んでたところでした。感謝感激…

以上です。

過去ログ表示

Prev - 2004/11 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project