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.