The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

IPC::AnyEvent::Gearman - IPC through gearmand.

VERSION

version 0.6

SYNOPSIS

    use AnyEvent;
    use IPC::AnyEvent::Gearman;
    
    #receive    
    my $recv = IPC::AnyEvent::Gearman->new(job_servers=>['localhost:9999']);
    $recv->on_recv(sub{
        my $msg = shift;
        print "received msg : $data\n";
        return "OK";#result
    });
    $recv->listen();

    my $cv = AE::cv;
    $cv->recv;

    #send
    my $send = IPC::AnyEvent::Gearman->new(server=>['localhost:9999']);
    $send->pid(1102);
    my $result = $send->send("TEST DATA");

ATTRIBUTES

pid

'pid' is unique id for identifying each process. This can be any value not just PID. It is filled own PID by default.

job_servers

ArrayRef of hosts.

prefix

When register function, it uses prefix+pid as function name. It is filled 'IPC::AnyEvent::Gearman#' by default.

on_recv

on_recv Hander. First argument is DATA which is sent. This can be invoked after listen().

on_sent

on_sent handler. First argument is a channel string.

on_fail

on_fail handler. First argument is a channel string.

METHODS

listen

To receive message, you MUST call listen().

channel

get prefix+pid

send

To send data to process listening prefix+pid, use this.

    my $sender = IPC::AnyEvent::Gearman->new(job_servers=>['localhost:9998']);
    $sender->prefix('MYIPC');
    $sender->send(1201,'DATA');

AUTHOR

KHS, HyeonSeung Kim <sng2nara@hanmail.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by HyeonSeung Kim.

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