[ Didier ]
What happens then? Does the webprinting service crash? Or does it hang until Cups is ready? Is it able to detect that it is hanging? The last would probably be the most sensible way to handle the dependency :-) A professional webprinting service should be able to do that. And this is what Cups itself does when a printer is paused.
Yes, of course services should fail gracefully when their dependencies are not met. "should" being the operative word here. In reality, professional or not, few programs test their error paths thoroughly. Often, the best behaviour when encountering such an issue is simply to exit. You cannot ask every service to hang until their dependencies are met - exiting with an error message is much simpler. As an admin, I'd rather not experiment with all the error paths in all the services I'm launching. I'd rather make sure they work. [ Stephanie ]
I'm firmly in the camp that process supervision is evil, because service failures on a *nix system should not happen
They should not happen. But they do. And auto-restart is not the only thing that process supervision gives you. Ease of process management is a big one for me.
and when they do they should be a really big inconvenient deal that wakes people up at 3am - because that's the sort of thing that gets problems noticed and fixed.
Nothing prevents you from having an alert that wakes the admin up when the service fails. But while the admin is waking up and logging in, it's better if the service has been restarted and is trying to be operational.
Process supervision trivializes failures, and leads us down a path of *tolerating* them and fixing the symptoms instead of fixing the problem
No, it does not. If your admins use process supervision as an excuse to be complacent with failures, the problem lies with your admins, not with process supervision. -- Laurent _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng