On 2023-11-29 20:17, Guilhem Moulin wrote:
> On Wed, 29 Nov 2023 at 19:48:09 +0100, Dmitry Katsubo wrote:
>> After= is not the same as Requires=
>> If the service is not present, it is just noop.
>> You might wish to add all supported RDBMS into After=.
> 
> One could also imagine systems where one (or more) of these .service
> files exists but isn't used by Roundcube.  In that case it's not a noop.
> I'll need to check what other maintainer do.

I agree, that adds more work to the scheduler, but roundcube-cleandb still 
works correctly.

>> Otherwise I have no good idea how to cure the error I got... making an 
>> explicit delay?
> 
> You can also add the After= relevant for your setup as a separate file
> override.

Right, that what I've done: added After=mariadb.service to 
roundcube-cleandb.service.

> What's the impact of this anyway? The race condition might
> cause the first run to fail but subsequent ones should succeed no?

Well, the impact is that during startup the unit is marked as failed:

# systemctl --all --failed
  UNIT                      LOAD   ACTIVE SUB    DESCRIPTION
● roundcube-cleandb.service loaded failed failed Purge Roundcube database: 
remove old records that were marked as deleted

For the subsequent calls I ma not sure – I've got an impression that this 
service is run only once at system startup.

-- 
With best regards,
Dmitry

Reply via email to