NAME
Poke
VERSION
version 1.101040
SYNOPSIS
## SomeJob.pm reachable via @INC
package SomeJob;
use Moose;
use namespace::autoclean;
use MyFrob;
has some_argument => (is => 'ro', isa => 'Int', required => 1);
has frob => (is => 'ro', isa => 'Object', lazy_build => 1);
sub _build_frob { MyFrob->new(); }
sub setup { shift->frob; } # build our frobber across the process boundary
sub run { my $self = shift; $self->frob->awesome_sauce($self->some_argument); }
with 'Poke::Role::Job';
__PACKAGE__->meta->make_immutable();
1;
## /path/to/some/file.ini
[Poke]
stagger_low = 5
stagger_high = 10
retry_delay = 5
[WorkerPool]
max_workers = 3
[Schema]
dsn = dbi:SQLite:thingy.db
user = ''
password = ''
[Web]
port = 12345
host = localhost
[Logger]
class = Log::Dispatch::Syslog
min_level = info
facility = daemon
ident = Poke!
format = '[%p] %m'
[SomeJob]
frequency = 60
some_argument = 42
## Now spin it up
poked --config /path/to/some/file.ini
DESCRIPTION
Poke is a monitoring framework. It pokes things to see if they are alive and then reports back. It is intended to be used through its shiny little command 'poked' with a config file and some jobs. Poke comes with only a couple of simple jobs, but should be plenty for people that just want to do simple stats on uptime for a webservice. Results are stored in a database that you configure Poke to use. You can get a simple display of those results if you turn on the httpd.
AUTHOR
Nicholas Perez <nperez@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Infinity Interactive.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.