Hi Laurent, I'm using s6/66 and I would like to ask two important things:
1) is it possible to start a service A after another service B with a
specific delay? For example start a service A exactly 5 seconds after the
service B?

 There's no specific support for that, no. In general, fixed delays are
a poor substitute for readiness: chances are that what you really want
is for service A to start when service B is *ready*, but since B is
not notifying readiness, you guesstimated that 5 seconds is a safe and
acceptable delay, and B will be ready by then so A should not fail.

 s6 does away with guesses by providing readiness notifications.
Basically, you need to configure B to let the supervisor know when it
is ready. Then the supervisor will inform the service manager, and A
will start.

 https://skarnet.org/software/s6/notifywhenup.html

 The same files mentioned in the link above, which describes a pure s6
setup (i.e. no service manager and no high-level interface), can be used
in an s6-rc service: run, notification-fd, and (if you have no other
choice) data/check. I'm not sure how 66 wraps s6-rc service definitions,
but it should also map to these files pretty closely.


2) im trying to covert a systemd service to a 66 frontend service but I see
that the type is "notify", while I only found classic, longrun, oneshot and
module in the template. Isn't there anything like that in 66?
Thanks in advance.

'notify' means that the daemon has been built with sd_notify support, so
it is able to notify its readiness to systemd. s6 has the same idea,
but implemented differently: check whether the daemon has an option
to write a line to some file descriptor when it's ready, as shown in the
link above, instead of using sd_notify. (It should: sd_notify is a much
more complex mechanism than just writing a line. If the daemon cannot do
that, it should be patched; and in the meantime, you can use
s6-notifyoncheck.)

Notification shenanigans aside, your daemon will be a regular 'longrun',
and anything 'longrun' should apply to your service.

 If you have more 66-specific questions, however, you should ask Obarun
experts, which I'm not. ;)

--
 Laurent

Reply via email to