announcement: AnyEvent::Fork::Remote
Mike Schilli
anyevent at perlmeister.com
Mon Apr 29 19:22:35 CEST 2013
On Sun, 28 Apr 2013, Marc Lehmann wrote:
> AnyEvent::Fork::Remote
> (http://software.schmorp.de/pkg/AnyEvent-Fork-Remote)
Interesting implementation, can you shed some light on what
# xored together must start and and with \n
my $magic0 = "Pdk{6y[_zZ";
my $magic1 = "Z^yZ7~i=oP";
does? :)
--
-- Mike
anyevent at perlmeister.com
>
> The remote is a bit of a misnomer, but thats the expected use case: create
> a process remotely ("ssh somewhere perl") and then let it be managed by
> AnyEvent::Fork::Remote.
>
> While the module is not built on top of AnyEvent::Fork (it was supposed
> to, but it didn't work out) and has a different API both in the "parent"
> and in the "child", it is easy to make other modules work with either,
> and in fact, AnyEvent::Fork::RPC and AnyEvent::Fork::Pool work with both
> modules.
>
> Here's a simple example that uses ssh to run perl on another box and
> control it with AnyEvent::Fork::RPC:
>
> use AnyEvent;
> use AnyEvent::Fork::Remote;
> use AnyEvent::Fork::RPC;
>
> my $rpc = AnyEvent::Fork::Remote
> ->new_execp ("ssh", "ssh", "anotherbox", "perl")
> ->eval ('
> sub myrun {
> "this is process $$, and you passed <@_>"
> }
> ')
> ->AnyEvent::Fork::RPC::run ("myrun");
>
> my $cv = AE::cv;
>
> for (1..10) {
> $cv->begin;
> $rpc->($_, sub {
> print "remote function returned: $_[0]\n";
> $cv->end;
> });
> }
>
> $cv->recv;
>
> If I ever find the time, I might add some AnyEvent::Fork::Remote::OpenSSH
> module that uses openssh and port forwarding to implement the fork and
> send_fh methods.
>
> Hope it's useful as it is, it's still in an early stage of development.
>
> Things that I vaguely plan to add is loading of local perl-only modules
> (or just local files), to make it easier to use remote perls without
> installing extra dependencies.
>
>
More information about the anyevent
mailing list