If I start the service while it is already running, then it warns and then tries 30 times before failing.
I would expect to immediately fail.
I recommend to only aggressively try optionally, e.g. with new option --persist (taking optional integer value, default 30).