Re: Preliminary version of s6-rc available

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Fri, 17 Jul 2015 11:06:46 +0200

On 17/07/2015 09:26, Rafal Bisingier wrote:
> So I run them as a service with "sleep BIG" in
> finish script (it's usually unimportant if this runs on same hours
> every day). I can have this sleep in the main process itself, but it
> isn't really it's job

  I also use a supervision infrastructure as a cron-like tool. In those
cases, I put everything in the run script:
  if { periodic-task } sleep $BIG

  periodic-task's run time is usually more or less negligible compared
to $BIG, and I'm not expecting to be controlling it with signals anyway
- but I like to being able to kill the sleep if I want to run
periodic-task again earlier for some reason. So I don't mind executing
a short-lived (even if it takes an hour or so) process in a child, and
then having the run script exec into the sleep. And since
periodic-task exits before the sleep, it doesn't block resources
needlessly.

  Whereas if your sleep is running in the finish script, you have no
way to control it. You stay in a limbo state for $BIG and your service
is basically unresponsive that whole time; it's reported as down (or
"finish" with runit) but it's still the normal, running state. I find
this ugly.

  What do you think ? Is putting your periodic-task in a child an
envisionable solution for you, or do you absolutely need to exec into
the interpreters ?

-- 
  Laurent
Received on Fri Jul 17 2015 - 09:06:46 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC