I see. So basically you have to keep the service running across the upgrade
and then wait for it to shut down due to inactivity, then be restarted by
systemd to make the update apply. Or alternatively you could make the app
detect that it's been updated, stop accepting new connections, finish
servicing the old connections, and then shut itself down once all existing
connections are finished. On restart it'd then be using the new code,
re-accept the socket from systemd and start accepting again.

I guess this can work for quiet services that are safe to change on disk
because they open everything at startup and never close or re-open the fds,
or if there's a snapshotting layer on top.

Reply via email to