view release on metacpan or search on metacpan
'Email::Sender::Simple' => 0,
'File::Path' => 0,
'File::ReadBackwards' => 0,
'File::Slurp' => 0,
'File::Temp' => 0,
'Gearman::XS' => 0,
'IO::File' => 0,
'IO::Socket::INET' => 0,
'JSON' => 0,
'Log::Log4perl' => 0,
'Modern::Perl' => 0,
'Moose' => '2.1005',
'Moose::Role' => '2.1005',
'MooseX::Singleton' => 0,
'Net::Telnet' => 0,
'Proc::Background' => 0,
'Readonly' => 0,
'Sys::Hostname' => 0,
'Test::More' => 0,
'Test::NoWarnings' => 0,
'Test::Strict' => 0,
Email::Sender::Simple: 0,
File::Path: 0,
File::ReadBackwards: 0,
File::Slurp: 0,
File::Temp: 0,
Gearman::XS: 0,
IO::File: 0,
IO::Socket::INET: 0,
JSON: 0,
Log::Log4perl: 0,
Modern::Perl: 0,
Moose: 2.1005,
Moose::Role: 2.1005,
MooseX::Singleton: 0,
Net::Telnet: 0,
Proc::Background: 0,
Readonly: 0,
Sys::Hostname: 0,
Test::More: 0
Test::NoWarnings: 0
Test::Strict: 0
lib/Gearman/JobScheduler.pm view on Meta::CPAN
C<Gearman::JobScheduler> - Gearman job scheduler utilities.
=cut
package Gearman::JobScheduler;
$VERSION = '0.16';
use strict;
use warnings;
use Modern::Perl "2012";
use Gearman::JobScheduler::Configuration;
use Gearman::XS qw(:constants);
use Gearman::XS::Client;
# Hashref serializing / unserializing
use Data::Compare;
use Data::Dumper;
lib/Gearman/JobScheduler/AbstractFunction.pm view on Meta::CPAN
An instance of the Gearman function doing the actual job with specific parameters.
=back
=cut
package Gearman::JobScheduler::AbstractFunction;
use strict;
use warnings;
use Modern::Perl "2012";
use feature qw(switch);
use Moose::Role 2.1005;
use Gearman::JobScheduler; # helper subroutines
use Gearman::JobScheduler::Configuration;
use Gearman::JobScheduler::ErrorLogTrapper;
use Gearman::XS qw(:constants);
use Gearman::XS::Client;
lib/Gearman/JobScheduler/Admin.pm view on Meta::CPAN
Reimplements functionality of "gearadmin"
(http://bazaar.launchpad.net/~tangent-trunk/gearmand/1.2/view/head:/bin/gearadmin.cc)
in Perl.
=cut
package Gearman::JobScheduler::Admin;
use strict;
use warnings;
use Modern::Perl "2012";
use Gearman::JobScheduler;
use Gearman::JobScheduler::Configuration;
# Neither "Gearman" nor "Gearman::XS" modules provide the administration
# functionality, so we'll connect directly to Gearman and send / receive
# commands ourselves.
use Net::Telnet;
# Connection timeout
lib/Gearman/JobScheduler/Configuration.pm view on Meta::CPAN
package Gearman::JobScheduler::Configuration;
#
# GJS default configuration
#
use strict;
use warnings;
use Modern::Perl "2012";
use Moose 2.1005;
use MooseX::Singleton; # ->instance becomes available
# Arrayref of default Gearman servers to connect to
has 'gearman_servers' => (
is => 'rw',
isa => 'ArrayRef[Str]',
default => sub { [ '127.0.0.1:4730' ] }
lib/Gearman/JobScheduler/Worker.pm view on Meta::CPAN
package Gearman::JobScheduler::Worker;
#
# GJS worker helpers
#
use strict;
use warnings;
use Modern::Perl "2012";
use Gearman::JobScheduler;
use Gearman::JobScheduler::Configuration;
use Gearman::XS qw(:constants);
use Gearman::XS::Worker;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init({ level => $DEBUG, utf8=>1, layout => "%d{ISO8601} [%P]: %m%n" });
samples/Addition.pm view on Meta::CPAN
package Addition;
use strict;
use warnings;
use Modern::Perl "2012";
use Moose;
with 'Gearman::JobScheduler::AbstractFunction';
# Run job
sub run($;$)
{
my ($self, $args) = @_;
samples/AdditionAlwaysFails.pm view on Meta::CPAN
package AdditionAlwaysFails;
use strict;
use warnings;
use Modern::Perl "2012";
use Moose;
with 'Gearman::JobScheduler::AbstractFunction';
# Run job
sub run($;$)
{
my ($self, $args) = @_;
samples/NinetyNineBottlesOfBeer.pm view on Meta::CPAN
package NinetyNineBottlesOfBeer;
use strict;
use warnings;
use Modern::Perl "2012";
use Moose;
with 'Gearman::JobScheduler::AbstractFunction';
use Time::HiRes qw(usleep nanosleep);
use Data::Dumper;
# in microseconds
use constant SLEEP_BETWEEN_BOTTLES => 100000;
script/gjs_sample_client.pl view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Modern::Perl "2012";
use FindBin;
use lib "$FindBin::Bin/../lib";
use lib "$FindBin::Bin/../samples";
use Gearman::JobScheduler;
use Gearman::JobScheduler::Admin;
use NinetyNineBottlesOfBeer;
use Addition;
use AdditionAlwaysFails;
script/gjs_worker.pl view on Meta::CPAN
or:
# Run instance of the Gearman function from "path/to/NinetyNineBottlesOfBeer.pm"
worker.pl path/to/NinetyNineBottlesOfBeer.pm
=cut
use strict;
use warnings;
use Modern::Perl "2012";
use FindBin;
use lib "$FindBin::Bin/../lib";
use lib "$FindBin::Bin/../samples";
use Gearman::JobScheduler;
use Gearman::JobScheduler::Configuration;
use Gearman::JobScheduler::Worker;
use Log::Log4perl qw(:easy);