modify schema for new CPE stats
[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::Poll::poll_prefix' => {
22                         max_processes => 1,
23                         min_processes => 0,
24                 },
25                 'APKPM::Poll::poll_ip_username' => {
26                         max_processes => 40,
27                         min_processes => 0,
28                 },
29                 'APKPM::CPE::poll' => {
30                         max_processes => 1,
31                         min_processes => 0,
32                 },
33                 'APKPM::CPE::ping' => {
34                         max_processes => 40,
35                         min_processes => 0,
36                 },
37                 'APKPM::Ping::ping' => {
38                         max_processes => 1,
39                         min_processes => 0,
40                 },
41                 'APKPM::Davolink::info' => {
42                         max_processes => 30,
43                         min_processes => 0,
44                 },
45                 'APKPM::EasyGateway::info' => {
46                         max_processes => 5,
47                         min_processes => 0,
48                 },
49                 'APKPM::Store::insert' => {
50                         max_processes => 2,
51                         min_processes => 0,
52                 },
53
54                 'APKPM::DSLAM::search' => {
55                         max_processes => 10,
56                         min_processes => 0,
57                 },
58                 'APKPM::CRM::search' => {
59                         max_processes => 3,
60                         min_processes => 0,
61                 },
62         },
63 );
64
65 open(my $pid, '>', '/tmp/apkpm.driver.pid');
66 print $pid "$$\n";
67 close $pid;
68
69 $driver->run;