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