Catalyst::Restarter(3) Uses File::ChangeNotify to check for changed files and restart the server


my $class = Catalyst::Restarter->pick_subclass;
my $restarter = $class->new(
directories => '/path/to/MyApp',
regex => '\.yml$|\.yaml$|\.conf|\.pm$',
start_sub => sub { ... }


This is the base class for all restarters, and it also provide functionality for picking an appropriate restarter subclass for a given platform.

This class uses File::ChangeNotify to watch one or more directories of files and restart the Catalyst server when any of those files changes.



Returns the name of an appropriate subclass for the given platform.

new ( start_sub => sub { ... }, ... )

This method creates a new restarter object, but should be called on a subclass, not this class.

The ``start_sub'' argument is required. This is a subroutine reference that can be used to start the Catalyst server.


This method forks, starts the server in a child process, and then watched for changed files in the parent. When files change, it kills the child, forks again, and starts a new server.


Catalyst Contributors, see


This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.