feat: support compose stop_grace_period to change timeout before sending SIGKILL

This commit is contained in:
Pasha Sviderski
2026-03-04 14:07:22 +10:00
parent 1f328e99d5
commit d9934b9dba
7 changed files with 125 additions and 90 deletions
+5
View File
@@ -85,6 +85,11 @@ func ServiceSpecFromCompose(project *types.Project, serviceName string) (api.Ser
}
}
if service.StopGracePeriod != nil {
d := time.Duration(*service.StopGracePeriod)
spec.StopGracePeriod = &d
}
if service.Scale != nil {
spec.Replicas = uint(*service.Scale)
}
+2 -1
View File
@@ -205,7 +205,8 @@ func TestServiceSpecFromCompose(t *testing.T) {
Placement: api.Placement{
Machines: []string{"machine-1", "machine-2"},
},
Replicas: 3,
Replicas: 3,
StopGracePeriod: api.AsPtr(30 * time.Second),
UpdateConfig: api.UpdateConfig{
Order: api.UpdateOrderStopFirst,
MonitorPeriod: &api.DefaultHealthMonitorPeriod,
+1
View File
@@ -37,6 +37,7 @@ services:
privileged: true
pull_policy: always
scale: 3
stop_grace_period: 30s
sysctls:
- net.ipv4.ip_forward=1
ulimits: