From a8d63ff4af0ea1f3a013f53cac50e4652f1154c9 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Wed, 19 Nov 2014 12:52:40 +0000 Subject: [PATCH] restart worker after two days if splay restart did not trigger --- Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm b/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm index 4b217d2c..4126e263 100644 --- a/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm +++ b/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm @@ -42,11 +42,12 @@ sub worker_body { $self->close_job($job); # restart worker once a day. - # relies on the worker seeing a job at least every hour. my $hour = [localtime()]->[2]; - if ($wid and (time >= ($self->{started} + 86400)) - and ($hour == ($wid % 24))) { - $self->exit(0, "recycling worker $wid"); + if ($wid) { + if ((time >= ($self->{started} + 86400) and $hour == ($wid % 24)) + or (time > ($self->{started} + 172800))) { + $self->exit(0, "recycling worker $wid"); + } } } }