Isoginner
和名:いそぎんなー
沢山の触手をもつイソギンチャクが由来。沢山の触手を持ち、その触手に餌があたると即座に補食する様がInotify+Danga::Socketを組み合わせたIsoginnerに似ているから。
svn co http://svn.coderepos.org/share/lang/perl/Isoginner/trunk
これなに?
Linux kernel 2.6.13 から使えるInotifyをDanga::Socketなどの非同期ライブラリを組み合わせたデーモンなどをPlaggerのような感じで構成することが出来る。
Inotifyについては ファイルの変更を監視して、任意をコマンドを実行するスクリプト - (ひ)メモ やman inotifyなどを参照の事
現在、とりあえず動作だけします。
Plugin
IsoginnerはPluginにより様々な拡張が行えます。 現段階でのPluginの使いかたは下記のとおり。
- Engine 非同期ライブラリの選択
- Provider 監視対象のpathを収集/登録をする
- Listener 監視方法の選択
- Action 監視対象にイベントが発生したときに実行されるplugin
TODO
- ActionがDumpのみなので充実させる
- イベントが発生した時にEngineを利用して外部サーバになにかしらの通知をさせる
- EngineをDanga::Socket以外も利用可能にする
- HTTP ServerをEngineを再利用しつつ実装
- Provider,Listener,Actionの関連付けをPlaggerのRuleのようにスマートにする
ライセンス
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
