36b416bdd678f01362543fa22a6b9d64b969f63c
[APKPM.git] / lib / APKPM / CRM.pm
1 package APKPM::CRM;
2
3 use base qw(Gearman::Driver::Worker);
4 use Moose;
5 use Time::HiRes;
6 use JSON::XS;
7 use Data::Dump qw(dump);
8
9 our $crmxml;
10 require "/opt/managment_tools/etc/config.pl";
11
12 use lib '/opt/managment_tools/lib';
13 use H1::CRM;
14
15 sub prefix { 'CRM_' }
16
17 sub process_name {
18         my ( $self, $orig, $job_name ) = @_;
19         warn "# process_name $orig $job_name\n";
20         return "$orig ($job_name)";
21 }
22
23 my $crm = H1::CRM->new($crmxml);
24
25 sub username : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
26         my ( $self, $job, $workload ) = @_;
27         warn "# username ",dump($workload);
28         my @out = $crm->search({ USERNAME => '%' . $workload . '%' });
29         warn "# out = ",dump(@out);
30         return shift @out;
31 }
32
33 sub encode {
34         my ( $self, $result ) = @_;
35         return JSON::XS::encode_json($result);
36 }
37
38 1;