5 use Data::Dump qw(dump);
6 use File::Path qw(make_path);
10 my ( undef, undef, $uid, $gid, undef, undef, $email, $dir, $shell ) = getpwnam $login;
19 warn "# work [$work]\n";
21 my ( $from, $to ) = split(/#/,$work,2);
23 my $f_dir = home_dir($1) if $from =~ s/~(\w+)//;
24 my $t_dir = home_dir($1) if $to =~ s/~(\w+)//;
26 warn "send_file $f_dir $from -> $t_dir $to\n";
28 my $t_basedir = $t_dir . $to;
29 $t_basedir =~ s{/[^/]+$}{};
30 make_path $t_basedir unless -d $t_basedir;
31 link $f_dir . $from => $t_dir . $to;
33 return "send_file $f_dir $from -> $t_dir $to";
37 my $worker = Gearman::Worker->new;
38 $worker->job_servers('127.0.0.1:4730');
39 $worker->register_function( send_file => \&send_file );
41 warn "$0 pid $$ waitng for jobs\n";
42 $worker->work while 1;