use Sys::Proctitle instead of Perl $0

This commit is contained in:
Oliver Gorwits
2014-08-07 16:46:43 +00:00
parent d9d2ea6b51
commit 941308698d
5 changed files with 18 additions and 10 deletions

View File

@@ -1,7 +1,9 @@
package App::Netdisco::Daemon::Worker::Common;
use Dancer qw/:moose :syntax :script/;
use Try::Tiny;
use Sys::Proctitle 'setproctitle';
use Role::Tiny;
use namespace::clean;
@@ -16,7 +18,7 @@ sub worker_body {
my $type = $self->worker_type;
while (1) {
$0 = sprintf 'netdisco-daemon: worker #%s %s: idle', $wid, lc($type);
setproctitle sprintf 'netdisco-daemon: worker #%s %s: idle', $wid, lc($type);
my $jobs = jq_take($self->wid, $type);
foreach my $job (@$jobs) {
@@ -24,7 +26,7 @@ sub worker_body {
try {
$job->started(scalar localtime);
$0 = sprintf 'netdisco-daemon: worker #%s %s: working on #%s: %s',
setproctitle sprintf 'netdisco-daemon: worker #%s %s: working on #%s: %s',
$wid, lc($type), $job->id, $job->summary;
info sprintf "$tag (%s): starting %s job(%s) at %s",
$wid, $target, $job->id, $job->started;
@@ -49,7 +51,7 @@ sub close_job {
my $type = $self->worker_type;
my $now = scalar localtime;
$0 = sprintf 'netdisco-daemon: worker #%s %s: wrapping up %s #%s: %s',
setproctitle sprintf 'netdisco-daemon: worker #%s %s: wrapping up %s #%s: %s',
$self->wid, lc($type), $job->action, $job->id, $job->status;
info sprintf "$tag (%s): wrapping up %s job(%s) - status %s at %s",
$self->wid, $job->action, $job->id, $job->status, $now;

View File

@@ -2,10 +2,12 @@ package App::Netdisco::Daemon::Worker::Manager;
use Dancer qw/:moose :syntax :script/;
use List::Util 'sum';
use Sys::Proctitle 'setproctitle';
use Role::Tiny;
use namespace::clean;
use List::Util 'sum';
use App::Netdisco::JobQueue qw/jq_locked jq_getsome jq_lock/;
sub worker_begin {
@@ -40,7 +42,7 @@ sub worker_body {
while (1) {
debug "mgr ($wid): getting potential jobs for $num_slots workers";
$0 = sprintf 'netdisco-daemon: worker #%s manager: gathering', $wid;
setproctitle sprintf 'netdisco-daemon: worker #%s manager: gathering', $wid;
# get some pending jobs
# TODO also check for stale jobs in Netdisco DB
@@ -63,7 +65,7 @@ sub worker_body {
}
debug "mgr ($wid): sleeping now...";
$0 = sprintf 'netdisco-daemon: worker #%s manager: idle', $wid;
setproctitle sprintf 'netdisco-daemon: worker #%s manager: idle', $wid;
sleep( setting('workers')->{sleep_time} || 2 );
}
}

View File

@@ -1,7 +1,9 @@
package App::Netdisco::Daemon::Worker::Scheduler;
use Dancer qw/:moose :syntax :script/;
use Algorithm::Cron;
use Sys::Proctitle 'setproctitle';
use Role::Tiny;
use namespace::clean;
@@ -36,11 +38,11 @@ sub worker_body {
# sleep until some point in the next minute
my $naptime = 60 - (time % 60) + int(rand(45));
$0 = sprintf 'netdisco-daemon: worker #%s scheduler: idle', $wid;
setproctitle sprintf 'netdisco-daemon: worker #%s scheduler: idle', $wid;
debug "sched ($wid): sleeping for $naptime seconds";
sleep $naptime;
$0 = sprintf 'netdisco-daemon: worker #%s scheduler: queueing', $wid;
setproctitle sprintf 'netdisco-daemon: worker #%s scheduler: queueing', $wid;
# NB next_time() returns the next *after* win_start
my $win_start = time - (time % 60) - 1;