use do_high for CRM_search
[APKPM.git] / gearman_driver.pl
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Gearman::Driver;
5 use lib 'lib';
6
7 my $dir = $0;
8 $dir =~ s{/[^/]+$}{};
9 chdir $dir || die "can't chdir into $dir";
10
11 $SIG{__WARN__} = sub { print STDERR @_ if $ENV{DEBUG} };
12
13 my $driver = Gearman::Driver->new(
14         namespaces => [qw(APKPM)],
15         configfile => 'config.yaml',
16         loglevel   => 'DEBUG',
17         logfile    => 'log/gearman.log',
18         server     => $ENV{GEARMAN} || 'localhost:4730',
19         interval   => 3,
20         job_runtime_attributes => {
21                 'APKPM::CPE::poll' => {
22                         max_processes => 1,
23                         min_processes => 0,
24                 },
25                 'APKPM::CPE::info' => {
26                         max_processes => 40,
27                         min_processes => 0,
28                 },
29                 'APKPM::Ping::ping' => {
30                         max_processes => 1,
31                         min_processes => 0,
32                 },
33                 'APKPM::Store::insert' => {
34                         max_processes => 2,
35                         min_processes => 0,
36                 },
37
38                 'APKPM::DSLAM::search' => {
39                         max_processes => 10,
40                         min_processes => 0,
41                 },
42                 'APKPM::CRM::search' => {
43                         max_processes => 3,
44                         min_processes => 0,
45                 },
46         },
47 );
48
49 open(my $pid, '>', '/tmp/apkpm.driver.pid');
50 print $pid "$$\n";
51 close $pid;
52
53 $driver->run;