X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gearman_driver.pl;h=667c9286240a7de5b02a3f9720121a2ca3b75c1b;hb=01554d1f93d679208deea0ca8e28ede87992136e;hp=229228803211c3364db36b1a0c396ec646139dc8;hpb=fdf38d11177401247c8996c5ebf18e474bf9a14f;p=APKPM.git diff --git a/gearman_driver.pl b/gearman_driver.pl index 2292288..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,16 +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::CPE::info' => { + max_processes => 40, + min_processes => 0, }, 'APKPM::Ping::ping' => { - max_processes => 100, + 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::Davolink::info' => { - max_processes => 60, + 'APKPM::CRM::search' => { + max_processes => 3, + min_processes => 0, }, }, ); + +open(my $pid, '>', '/tmp/apkpm.driver.pid'); +print $pid "$$\n"; +close $pid; + $driver->run;