Hello. On Fri, Oct 28, 2022 at 12:39:01PM +0200, Simon Mullis <[email protected]> wrote: > Step 0 > - service_data_gen => creates N outputs > > Step 1 > - [email protected] => N instances are created but don't actually need > to do anything. > - [email protected] => N sockets are created which are the target FIFOs > for the output of - service_data_gen above.
What processes the data flowing into [email protected] ([email protected])? > I don't need any service to actually run in step1, I would like > systemd to manage the sockets and the dependencies (as it is for the > rest of the chain). So why don't you just shift the rest of the pipeline/numbering? [email protected] would trigger [email protected] and it'd do job that your current [email protected] does. And you'd initiate your pipeline with eval systemctl start step1@{1..${cpu_cores}}.socket and trigger by writes into the sockets from the single service_data_gen. > What is the best practise for an ExecStart= entry to act as a dummy, > where no service is actually required? At the moment I am using: > > ExecStart=/usr/bin/sh -c "sleep infininty" in the service template for > [email protected] ExecStart=/bin/true RemainAfterExit=true is slightly better in terms of system resource use. > I think the crux of this is entirely related to the use of instance > templates and linking one unconnected single parent service to many > child services (and sockets). FTR, not related to templates in particular, as systemd.socket(5) says: "For each socket unit, a matching service unit must exist". HTH, Michal
signature.asc
Description: Digital signature
