3 use base qw(Gearman::Driver::Worker);
7 use Data::Dump qw(dump);
11 with 'APKPM::Gearman';
12 with 'APKPM::Gearman::Client';
17 my ( $self, $orig, $job_name ) = @_;
18 warn "# process_name $orig $job_name\n";
19 return "$orig ($job_name)";
22 sub search : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
23 my ( $self, $job, $workload ) = @_;
24 warn "# search $job ", dump($workload);
26 my $res = { workload => $workload };
28 my $taskset = $self->gc->new_task_set;
29 $taskset->add_task('LDAP_search', $workload, {
30 on_complete => sub { $res->{ldap} = $self->d_json( ${$_[0]} ) }
32 $taskset->add_task('CRM_search', $workload, {
33 on_complete => sub { $res->{crm} = $self->d_json( ${$_[0]} ) }