mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-17 02:23:00 +00:00
feat: configurable stop grace period for applications
Adds stop_grace_period to application settings (seconds, 1-3600, default 30). Used in place of the hardcoded docker stop -t 30 in the four places that stop application containers: rolling update shutdown, manual stop, stop on another server, and preview deployment stop. Non-positive values fall back to the default via ($val > 0) ? $val : default, with tests covering 0 and -10 so the cast does not blow up if a bad value ever lands in the db. Picks up Jack Coy's work from #7125 which went dormant. His commits are squashed here with credit below. Co-authored-by: Jack Coy <jackman3000@gmail.com>
This commit is contained in:
co-authored by
Jack Coy
parent
37518813a6
commit
60d8aba323
@@ -20,13 +20,17 @@ class StopApplicationOneServer
|
||||
}
|
||||
try {
|
||||
$containers = getCurrentApplicationContainerStatus($server, $application->id, 0);
|
||||
$timeout = ($application->settings->stop_grace_period > 0)
|
||||
? $application->settings->stop_grace_period
|
||||
: DEFAULT_STOP_GRACE_PERIOD_SECONDS;
|
||||
|
||||
if ($containers->count() > 0) {
|
||||
foreach ($containers as $container) {
|
||||
$containerName = data_get($container, 'Names');
|
||||
if ($containerName) {
|
||||
instant_remote_process(
|
||||
[
|
||||
"docker stop -t 30 $containerName",
|
||||
"docker stop --time=$timeout $containerName",
|
||||
"docker rm -f $containerName",
|
||||
],
|
||||
$server
|
||||
|
||||
Reference in New Issue
Block a user