3 use base qw(Gearman::Driver::Worker);
6 use Data::Dump qw(dump);
10 with 'APKPM::Gearman::Client';
15 sub prefix { 'DSLAM_' }
18 my ( $self, $orig, $job_name ) = @_;
19 warn "# process_name $orig $job_name\n";
20 return "$orig ($job_name)";
24 my ( $self, $job, $workload ) = @_;
25 warn "# begin ", dump( $workload );
28 sub search : Job : Encode(e_json_encode) {
29 my ( $self, $job, $workload ) = @_;
30 warn "# search ",dump($workload);
34 if ( $workload =~ m/[:=]/ ) {
35 ($field,$value) = split(/[:=]/,$workload,2)
37 return { error => 'invalid workload', expected => 'OPT_82:%' };
40 my $crm_results = $self->do_high('CRM_search' => $workload);
42 my $crm = $crm_results->[0];
43 warn "ERROR: more than one result from CRM, using first ", dump($crm_results)
44 if $#$crm_results > 0;
46 warn "# crm ",dump $crm;
48 my $hash = $self->do_high( $crm->{TIP_UREDJAJA} . '_' . $crm->{IP_UREDAJA}, $self->e_json( $crm ) );
50 warn "# hash ",dump $hash;