Merge branch 'devel' of h1dev:/srv/APKPM/
[APKPM.git] / persistant_worker.pl
index f601009..9a889f8 100755 (executable)
@@ -44,9 +44,11 @@ my $driver = Gearman::Driver->new(
 my $w1 = 'Cog';
 my $worker = $w1->new();
 
+$0 = "CRM_search TIP_UREDJAJA:$variant";
 
 my $crm = $worker->do( 'CRM_search' => "TIP_UREDJAJA:$variant" );
 
+$0 = $variant;
 
 my $poll;
 
@@ -95,6 +97,8 @@ foreach my $ip ( keys %$poll ) {
                my $port     = $crm->{SHELF_SLOT_PORT} || die "no SHELF_SLOT_PORT";
                my $username = $crm->{USERNAME}        || die "no USERNAME";
 
+               $0 = "$method $port $username"; # process name
+
                my $hash;
                eval { $hash = $zte->hash( $port ) };
 
@@ -117,6 +121,7 @@ foreach my $ip ( keys %$poll ) {
                        h => $hash,
                });
 
+               $0 = "$method idle";
                return $hash; # body end
 
 # XXX -- worker body
@@ -141,6 +146,8 @@ $driver->add_job({
 
                my ( $self, $job, $workload ) = @_;
 
+               $0 = $variant . '_poll CRM_search';
+
                my $crm = $self->do( 'CRM_search' => "TIP_UREDJAJA:$variant" );
 
                warn "# crm $crm";
@@ -153,6 +160,7 @@ $driver->add_job({
                my $redis = Redis->new;
                $redis->del( $_ ) foreach $redis->keys("$variant.*");
 
+               $0 = $variant . '_poll start';
                $redis->set( "$variant.poll.start" => $self->datetime_now );
 
                foreach my $user ( @$crm ) {
@@ -186,10 +194,13 @@ $driver->add_job({
                }
 
                warn "# queue logouts";
+               my $n = 1;
                foreach my $ip ( keys %$seen ) {
                        $taskset->add_task( $variant . '_' . $ip, $self->e_json( { logout => 1 } ) );
+                       $0 = $variant . '_poll ' . $n++;
                }
 
+               $0 = $variant . "_poll wait";
                warn "# wait";
                $taskset->wait;
 
@@ -206,6 +217,7 @@ $driver->add_job({
                my $ports = 0;
                $ports += scalar keys %{ $seen->{$_} } foreach keys %$seen;
                warn "# finish $ips ips with $ports ports\n";
+               $0 = $variant . "_poll last ips:$ips ports:$ports";
                return { ips => $ips, ports => $ports, dslam_poll => $row }  ; # body end
                }
        } ],