flyingcircusio / batou

batou is a universal, fractal deployment utility using Python.
https://batou.readthedocs.org
Other
47 stars 12 forks source link

Allow only one batou deployment at a time #450

Open Ma27 opened 2 months ago

Ma27 commented 2 months ago

Idea originally from @nichmoe, discussed together with @frlan Nowadays, there are

Thus, there's a certain risk that two batou deployments are running simultaneously and conflict with each other. To prevent that, some kind of locking mechanism would be nice.

The basic feature request is: write a PID file into the home of the service user. When I start a deployment and there's a PID file with a PID that exists, batou should abort the deployment.

A few more notes:

[1] This is still the case in at least one case (wpshared/varnish), but we consider this a bug (and there's a ticket to fix that by switching to Varnish multi-host).