ぷらがーさーば
svn の branches/feature-server から取得して頑張ってみることにしたので、作業メモを残します。
- レシピ集
作業ログ
チェックアウトした Plagger の example-multibbs.yaml を動かそうとしたけど、コンパイルエラーがたくさんでたので各個撃破。using JSON; とか書いてあるのを書き直したり、cpan install したりの単純作業。最終的に動いたと思ったら Windows では setgid は implement されてませんと言われたので Linux でもう一度 (ノー`)。動くコードはあるので cpan から必要なモジュール集めるだけでいいけど。
Plagger Server のシーケンス
PreFork でプロトコル登録して、サーバ動作としてプロトコルにリクエストがきたら Plagger のいつもの処理を走らせる。そして再びリクエスト待ち。Engine を設定しないと run_hook にデフォルト登録されていないので、プラグインロードしただけで終了する。
Plagger/Server.pm bootstrap server_run protocol.load engine.load pull.init push.init push.start engine.run engine_run plugin.init subscription.load customfeed.handle aggregator.finalize pull.handle update.entry.fixup update.feed.fixup update.fixup smartfeed.init smartfeed.entry smartfeed.feed smartfeed.finalize publish.init publish.entry.fixup publish.feed publish.entry pull.publish publish.finalize pull.finalize Plugin/Server/Engine/PreFork.pm register engine.load -> load engine.run -> start start ポートとプロトコルのマッピング Net::Server::PreFork->run initialize post_configure post_configure_hook pre_bind bind post_bind_hook post_bind pre_loop_hook loop run_client_connection process_request engine_run (Plagger::Server engine_run) server_close