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.