Posted by atkrad 9/13/2025
On the other hand -- if it encourages dev teams to stop the silly habit of returning successful health checks from their microservices even before the back-end dependencies (DBs, other web services, etc) are ready, then it might have some value.
Deciding what starts when shouldn't live inside the things themselves. They should be able to start independently and react accordingly if their dependencies aren't met.
Two reasons:
Dependencies can vanish anyway, once everything's started, so it's silly to special-case starting a microservice.
Microservices can need to behave differently depending on the deployment situation, so you don't want to bake into them a single way of doing things.
https://github.com/vishnubob/wait-for-it
I however suspect that I wouldn't use it, if I was still working in devops. The niche where a simple wait for the port is insufficient is _extremely_ rare in practice... Because almost everything that needs such either already has the concept of a readiness check to make it available (k8s, LBs, etc) or will retry automatically given the port being open (DB connections etc)
Worked great last time I used it. Has more features than just waiting for a port too.
***
It's amazing how much work people will go through to avoid using systemd.
I guess this is useful for portability to non-Linux though.