X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gearman_driver.pl;h=667c9286240a7de5b02a3f9720121a2ca3b75c1b;hb=b7ad83dc3edd53f4023f67440774c636e120cec2;hp=268519be99854ba18e18b86f2fd066eba294411e;hpb=427f59ec63c26b51d3dbb825a814963ab60a31b0;p=APKPM.git diff --git a/gearman_driver.pl b/gearman_driver.pl index 268519b..667c928 100755 --- a/gearman_driver.pl +++ b/gearman_driver.pl @@ -4,6 +4,9 @@ use warnings; use Gearman::Driver; use lib 'lib'; +my $dir = $0; +$dir =~ s{/[^/]+$}{}; +chdir $dir || die "can't chdir into $dir"; $SIG{__WARN__} = sub { print STDERR @_ if $ENV{DEBUG} }; @@ -15,19 +18,36 @@ my $driver = Gearman::Driver->new( server => $ENV{GEARMAN} || 'localhost:4730', interval => 3, job_runtime_attributes => { - 'APKPM::Poll::ip_username' => { - max_processes => 100, - min_processes => 1, + 'APKPM::CPE::poll' => { + max_processes => 1, + min_processes => 0, }, - 'APKPM::Ping::ping' => { - max_processes => 100, + 'APKPM::CPE::info' => { + max_processes => 40, + min_processes => 0, }, - 'APKPM::Davolink::info' => { - max_processes => 60, + 'APKPM::Ping::ping' => { + max_processes => 1, + min_processes => 0, }, 'APKPM::Store::insert' => { + max_processes => 2, + min_processes => 0, + }, + + 'APKPM::DSLAM::search' => { max_processes => 10, + min_processes => 0, + }, + 'APKPM::CRM::search' => { + max_processes => 3, + min_processes => 0, }, }, ); + +open(my $pid, '>', '/tmp/apkpm.driver.pid'); +print $pid "$$\n"; +close $pid; + $driver->run;