X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gearman_driver.pl;h=8d5a346e865f4021b932868915551ff1e125d075;hb=4e897268ea351ae8a2e285ae62203a561b3f41ba;hp=268519be99854ba18e18b86f2fd066eba294411e;hpb=511491c1b89f88829fb9a42742ab22583bc4ad43;p=APKPM.git diff --git a/gearman_driver.pl b/gearman_driver.pl index 268519b..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} }; @@ -15,19 +18,52 @@ 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::Poll::poll_prefix' => { + max_processes => 1, + min_processes => 0, + }, + 'APKPM::Poll::poll_ip_username' => { + 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;