The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Gearman::Glutch - gearman casual

SYNOPSIS

use Gearman::Glutch;

my $worker = Gearman::Glutch->new(
    port => 9999,
    max_workers => 5,
    max_reqs_per_child => 5,
    on_spawn_child => sub {
        warn "Spawned $_[0]";
    },
    on_complete => sub {
        warn "Complete job $$";
    },
);
$worker->register_function("echo", sub {
    my $job = shift;
    $$.":".$job->arg;
});
$worker->run();

DESCRIPTION

Gearman::Glutch is all in one gearman server management library for casual use. Glutch spawns Gearman::Server and Gearman::Worker automatically.

METHODS

my $glutch = Gearman::Glutch->new(%args)

Create new instance of Gearman::Glutch. You can pass the following arguments.

port

Port number for gearman server.

max_workers(Default: 1)

number of worker processes

max_reqs_per_child

max. number of requests to be handled before a worker process exits

on_spawn_child

Callback function. This will call on spawned worker process.

on_complete

Callback function. This will call on completed one job.

$glutch->register_function($name, $code)
$glutch->register_function($name, $time, $code)
$glutch->register_function("echo", sub {
    my $job = shift;
    # $job is instance of Gearman::Job
    $$.":".$job->arg;
});

Register function to the worker processes.

$glutch->run()

Spawn the child processes and go to main loop.

AUTHOR

Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>

SEE ALSO

LICENSE

Copyright (C) Tokuhiro Matsuno

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