NAME

POE::Component::DirWatch::Object::NewFile

SYNOPSIS

use POE::Component::DirWatch::Object::NewFile;

#$watcher is a PoCo::DW:Object::NewFile 
my $watcher = POE::Component::DirWatch::Object::NewFile->new
  (
   alias      => 'dirwatch',
   directory  => '/some_dir',
   filter     => sub { $_[0] =~ /\.gz$/ && -f $_[1] },
   callback   => \&some_sub,
   interval   => 1,
  );

$poe_kernel->run;

DESCRIPTION

POE::Component::DirWatch::Object::NewFile extends DirWatch::Object in order to exclude files that have already been processed

Accessors

seen_files

Read-write. Will return a hash ref in with keys will be the full path of all previously processed documents that still exist in the file system.

Extended methods

dispatch

before 'dispatch' the dipatch list is compared against $self-seen_files> and previously seen files are dropped from that list. at the end it adds all new files to the list of known files.

poll

before 'poll' the list of known files is checked and if any of the files no longer exist they are removed from the list of known files to avoid the list growing out of control. This makes a kind-of bug, look below.

meta

Keeping tests happy.

SEE ALSO

POE::Component::DirWatch::Object, Moose

AUTHOR

Guillermo Roditi, <groditi@cpan.org>

BUGS

The idea behind cleaning the seen list is that if a new file with the same name comes again it will also be processed, and to keep memory use down. The bad part is that this happens only before the system is polled, which means that if a file is removed and recreated between polls the new one will not be processed.

Please report any bugs or feature requests to bug-poe-component-dirwatch-object at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POE-Component-DirWatch-Object. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc POE::Component::DirWatch::Object::NewFile

You can also look for information at:

ACKNOWLEDGEMENTS

People who answered way too many questions from an inquisitive idiot:

#PoE & #Moose
Matt S Trout <mst@shadowcatsystems.co.uk>
Rocco Caputo

COPYRIGHT

Copyright 2006 Guillermo Roditi. All Rights Reserved. This is free software; you may redistribute it and/or modify it under the same terms as Perl itself.