Skip to content

jrockway/anyevent-inotify-simple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

AnyEvent::Inotify::Simple - monitor a directory tree in a non-blocking way

SYNOPSIS

use AnyEvent::Inotify::Simple;
use EV; # or POE, or Event, or ...

my $inotify = AnyEvent::Inotify::Simple->new(
    directory      => '/tmp/uploads/',
    wanted_events  => [ qw(create move) ],
    event_receiver => sub {
        my ($event, $file, $moved_to) = @_;
        given($event) {
            when('create'){
               say "Someone just uploaded $file!"
            }
        };
    },
);

EV::loop;

DESCRIPTION

This module is a wrapper around Linux::Inotify2 that integrates it with an AnyEvent event loop and makes monitoring a directory simple. Provide it with a directory, event_receiver (AnyEvent::Inotify::Simple::EventReceiver), and an optional coderef filter and/or optional array ref wanted_events, and it will monitor an entire directory tree. If something is added, it will start watching it. If something goes away, it will stop watching it. It also converts IN_MOVE_FROM and IN_MOVE_TO into one virtual event.

Someday I will write more, but that's really all that happens!

METHODS

None! Create the object, and it starts working immediately. Destroy the object, and the inotify state and watchers are automatically cleaned up.

REPOSITORY

Forks welcome!

http://github.com/jrockway/anyevent-inotify-simple

AUTHOR

Jonathan Rockway <jrockway@cpan.org>

Current maintainer is Rob N ★ <robn@robn.io>

COPYRIGHT

Copyright 2009 (c) Jonathan Rockway. This module is Free Software. You may redistribute it under the same terms as Perl itself.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published