Skip to content

Instantly share code, notes, and snippets.

@ssig33
Created March 16, 2013 07:24
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssig33/5175383 to your computer and use it in GitHub Desktop.
Save ssig33/5175383 to your computer and use it in GitHub Desktop.
クローラーの設計
$ fastladder-crawler export.opml 'http://url_of_fastladder'

とかコマンドうつとクローラーが起動してガンガンクロールして RPC 経由で更新する感じですかね。

フィードにアクセスしまくらないように CrawlStatus というのが Fastladder 側にあるんだけど、これは無視して自前でなんとかするのがよい感じする。なるべく Fastladder から切り離す。

フィード全文化とかはオプションで選択出来るようにする。広告除去もそんな感じ。

こんなもんか?

@ssig33
Copy link
Author

ssig33 commented Mar 17, 2013

https://github.com/fastladder/fastladder/blob/master/app/controllers/rpc_controller.rb#L19 クロールすべきフィード一覧を返す API はある

@ssig33
Copy link
Author

ssig33 commented Mar 17, 2013

クローラーが手元で digest 計算 -> Fastladder に投げる -> Fastladder は持ってない奴を返す -> その分だけ記事を送りつける

というような感じの動作のための API を作った。

@mala
Copy link

mala commented Mar 17, 2013

あーこれだとダメですね。feedlink,link,digestでユニーク。digestがかぶる別の記事はありうる。
itemは分割されてないのか(なつかしい)

この実装だとmemberに管理者フラグ的なものがいると思います。itemが共用なので、他人が購読してるフィードの記事内容を好きに変更できてしまう。

つまり

  • 管理者フラグのある人のexport: 全てのフィードを取ってくることが出来る
  • 一般ユーザー: 自分が更新権限のあるフィードを取ってくることが出来る。

一般ユーザーはfeedlinkに特殊なURLを指定した仮想フィード的なものを作って、update_feedに投げるとあらゆるものを購読できるイメージ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment