How are restart loops the wrong policy?
How are restart loops the wrong policy? If it should be running, and it's not, how else would I fix it except by restarting it? They're not exactly trivial. There's restart delay, number of times to restart, passing stdout through so the journal can get it, and there's failure reporting. How is PID 1 supposed to know if my service failed when the restart daemon is still up and running, but my actual app keeps crashing? How can it tell the difference between my app and a supervisor, or a fully failed app or just one failed subprocess that my app can handle? Now you need some scheme for that. If PID1 doesn't know what's failed, how would I get a list of all failed systems programmatically? Systemd could provide a standard supervisor component, but then it couldn't ever do anything but restart failed apps, or you're back to people complaining about monoliths. You'd have to have your service file explicitly call it with some command line args making your syntax uglier. And more importantly, it might be harder for the systemd dev team because now they have a communication protocol between this restart daemon and everything else. Or they could leave restart daemons up to the user... and everyone would probably choose 3 different ones, that might or might not keep up with compatibility. That would break the "One and only one obvious way" principle. When you start splitting stuff up in tiny bits, you get more overhead, all the extra nice features seem to evaporate.
Posted by eternityforest on Jan 9, 2022, 4:06 AM
Tags
Related issues
- That's the biggest problem with iOS because Apple can be ordered to block them from the App Store and it would be instantly kill these pr...
- I'm intrigued about the "Trip Planner" being a top-level app.
- This asymmetry is IMO the biggest problem with AI-driven output.
- This is one of the most important objectives in software today.
- At least in Europe - these rouge corporations need to be reined in or just leave the market.
- I was skeptical, but this looks genuinely useful.
Raise real-world problems, find people facing the same issue, and discuss solutions.3,000 issues0 comments
hackernews (SaaS)
That's the biggest problem with iOS because Apple can be ordered to block them from the App Store and it would be instantly kill these pr...
NewI'm intrigued about the "Trip Planner" being a top-level app.
This asymmetry is IMO the biggest problem with AI-driven output.
This is one of the most important objectives in software today.
At least in Europe - these rouge corporations need to be reined in or just leave the market.
I was skeptical, but this looks genuinely useful.
Why has she gone through so many iPhones?
The biggest problem with Europe is the lack of innovation.
How are restart loops the wrong policy?
How are restart loops the wrong policy? If it should be running, and it's not, how else would I fix it except by restarting it? They're not exactly trivial. There's restart delay, number of times to restart, passing stdout through so the journal can get it, and there's failure reporting. How is PID 1 supposed to know if my service failed when the restart daemon is still up and running, but my actual app keeps crashing? How can it tell the difference between my app and a supervisor, or a fully failed app or just one failed subprocess that my app can handle? Now you need some scheme for that. If PID1 doesn't know what's failed, how would I get a list of all failed systems programmatically? Systemd could provide a standard supervisor component, but then it couldn't ever do anything but restart failed apps, or you're back to people complaining about monoliths. You'd have to have your service file explicitly call it with some command line args making your syntax uglier. And more importantly, it might be harder for the systemd dev team because now they have a communication protocol between this restart daemon and everything else. Or they could leave restart daemons up to the user... and everyone would probably choose 3 different ones, that might or might not keep up with compatibility. That would break the "One and only one obvious way" principle. When you start splitting stuff up in tiny bits, you get more overhead, all the extra nice features seem to evaporate.
Comments (0)
No comments yet. Start the discussion.