Re: Have an external script wait for a oneshot service

From: Paul Sopka <psopka_at_sopka.ch>
Date: Wed, 4 Dec 2024 21:59:06 +0100

> Ah, I see: from your external script, you do not want to know*whether* a oneshot service has completed; you want to block*unless or until* it has completed?
>
> In that case, I would use `s6-ftrig-notify` in the oneshot service, and both `s6-rc -a list` and `s6-ftrig-wait` in the external script:
>
> in the oneshot, as the last action taken before quitting, use `s6-ftrig-notify` to send an event to a fifodir;
> in the external script, `s6-rc -a list | grep -q $(oneshot_service_name)` to proceed if the oneshot is already up, and then if it is not up, `s6-ftrig-wait` to block until it is.
>
> Or, as you say, you can use fifodirs directly without the convenience programs that interact with them already.
>
> There might be a race condition there, but that's something you can surely work around if it's a concern.

Exactly!

Although it would be nicer to have a standard way to do this,
consistent with longruns, as described in my initial Mail.

Let's see what Laurent thinks of that.

Thanks and regards

Paul

Received on Wed Dec 04 2024 - 21:59:06 CET

This archive was generated by hypermail 2.4.0 : Wed Dec 04 2024 - 21:59:37 CET