I have multiple jobs that should be launched periodically by a systemd timer. The jobs are mutually exclusive - if one job was to be run while another one is still running, one of the jobs might produce invalid results or even crash. Because of this I need to ensure only one of the jobs can run at a time, so if a job is already running, systemd needs to delay scheduling of any conflicting jobs until the running job has concluded.
How can I signal to sytstemd to delay a job until any conflicting jobs have concluded? Using conflicts
doesn't seem like a good option to me since I want to allow already running jobs to finish on their own instead of being stopped forcefully (all of these jobs conclude eventually by themselves).