fastladderのクローラーをdaemontoolsで動かす

クローラーがたまに落ちるのでモダンperl入門にあったdaemontoolsを使ってみることにした。

ProductName モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社 / ¥ 2,940 ()
通常5~7日以内に発送

srpmはここからダウンロードしてきて

rpmbuild --rebuild daemontools-toaster-0.76-1.3.3.src.rpm

できたrpmをインストール。

fastladderのあるディレクトリ(僕の場合は/usr/local/fastladder)でdaemonとdaemon/logっていうディレクトリを作ってそれぞれのディレクトリにrunという実行ファイルを用意

daemon/run

#!/bin/sh
exec 2>&1
exec setuidgid root /usr/local/fastladder/script/crawler -e production

daemon/log/run

#!/bin/sh
multilog

リンク

chmod 1755 /usr/local/fastladder
ln -s /usr/local/fastladder/daemon /service/fastladder

あとはdaemontoolsで動かす。

参考: daemontoolsでデーモン管理

opensource版fastladderのリダイレクトの処理

これを10冊ぐらい買って、さりげなく職場に撒いておきたい今日この頃

ProductName できるポケット+ RSSリーダーで毎朝の情報収集力が10倍アップする本 (できるポケット+)
小林 祐一郎,できるシリーズ編集部
インプレスジャパン / ¥ 998 ()
通常24時間以内に発送

はじめてのRubyのおかげで、Rubyのコードを読むのが楽しくなってきたので、opensource版のfastladderでABCのフィードがブックマークレットから登録できなかった理由を調べた。

fastladder.rbがリダイレクトに対応してないっぽいのでこんな感じでレスポンスのチェックをすればよさそうなんだけどBasic認証用の処理とか入ってるから、どういう風に書いておけばよいのかわからん。

あと、RSSのURIをブックマークレットで登録しようとしてもフィードが見つからないとかいうのも直しておきたい。

Fastladderを触っている

職場に入れたかったのでproxyに対応させる必要があった。というわけで作業メモ。

trunkにタイポがあったので二カ所ほど修正した気がする。

あと、addする際に登録できないフィードがあってなんでかな?と思ってみたら、urlが全部小文字になってた。これもrfeedfinderの仕業だった。

16行目くらいの

uri = uri.grep.sub(/^feed(.*)/,'http\1'/.downcase

のdowncaseが邪魔なので、ここを修正。

今日の作業はここまでだけど、RSSとAtomだったらAtomのほうを購読したほうがよさげな感じがしたりとかするので、そこらへんのコードも見てみながらrubyの勉強もする。

というか、rubyのシンボルでちょっと悩んでググったりとかした。

fedora8にfastladderを入れた

fastladder素晴らしい。早速インストールしてみた。rubyは普段使わないのでrubygemsから。

$ ruby ./setup.rb
./lib/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- rdoc/rdoc (LoadError)
        from ./lib/rubygems/custom_require.rb:27:in `require'
        from ./setup.rb:39

どうもruby-docが足らない。

$ yum install ruby-rdoc

これで、gem installでmongrelとかrailsが入る。

あと、freeimageを入れとかないとエラーが出て動かない。なんでここで解決。ただしyumでは入らなさげだったのでソースから入れた。

fastladder

やー超快適。サーバーとかいじってる暇なさげだけど、隙をみて職場のRSSリーダー入れ替える計画を立てなきゃ。