X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gearman_driver.pl;h=667c9286240a7de5b02a3f9720121a2ca3b75c1b;hb=92c0a1384510c822396225cc8b0a523e23df07f2;hp=492ea6a14584076bbfe90e6d1e13af1cd8667c24;hpb=2331ba2b6ecc70e401ae8a24e616500f7a8c088b;p=APKPM.git diff --git a/gearman_driver.pl b/gearman_driver.pl index 492ea6a..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,23 +18,36 @@ my $driver = Gearman::Driver->new( server => $ENV{GEARMAN} || 'localhost:4730', interval => 3, job_runtime_attributes => { - 'APKPM::Poll::poll_prefix' => { + 'APKPM::CPE::poll' => { max_processes => 1, - min_processes => 1, + min_processes => 0, }, - 'APKPM::Poll::poll_ip_username' => { - max_processes => 100, - min_processes => 1, + 'APKPM::CPE::info' => { + max_processes => 40, + min_processes => 0, }, 'APKPM::Ping::ping' => { - max_processes => 100, - }, - 'APKPM::Davolink::info' => { - max_processes => 60, + 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;