X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gearman_driver.pl;h=8d5a346e865f4021b932868915551ff1e125d075;hb=4e897268ea351ae8a2e285ae62203a561b3f41ba;hp=492ea6a14584076bbfe90e6d1e13af1cd8667c24;hpb=4a19699183b0a84bf49d5f51b9f6f20ec36cdc83;p=APKPM.git diff --git a/gearman_driver.pl b/gearman_driver.pl index 492ea6a..8d5a346 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} }; @@ -17,21 +20,50 @@ my $driver = Gearman::Driver->new( job_runtime_attributes => { 'APKPM::Poll::poll_prefix' => { max_processes => 1, - min_processes => 1, + min_processes => 0, }, 'APKPM::Poll::poll_ip_username' => { - max_processes => 100, - min_processes => 1, + max_processes => 40, + min_processes => 0, + }, + 'APKPM::CPE::poll' => { + max_processes => 1, + min_processes => 0, + }, + 'APKPM::CPE::ping' => { + max_processes => 40, + min_processes => 0, }, 'APKPM::Ping::ping' => { - max_processes => 100, + max_processes => 1, + min_processes => 0, }, 'APKPM::Davolink::info' => { - max_processes => 60, + max_processes => 30, + min_processes => 0, + }, + 'APKPM::EasyGateway::info' => { + max_processes => 5, + 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;