Context
Grace periods and preStop hooks are inconsistent across workloads:
| Container |
Grace |
preStop |
Issue |
| php-fpm |
120 s |
sleep 10; kill -QUIT 1 |
grace longer than needed (10 s drain + 60 s request_terminate_timeout) |
| nginx |
120 s |
sleep 5 && nginx -s quit |
drains 5 s while php-fpm drains 10 s — nginx stops accepting before FPM |
| storefront |
60 s |
sleep 10 |
Node exits in seconds; ~47 s wasted on every rollout |
| redis |
30 s (default) |
none |
no explicit shutdown; 2 GB in-memory store |
Proposal
Align (all as component values, these become the defaults):
- php-fpm grace
90 (10 drain + 60 worker timeout + buffer)
- nginx preStop
sleep 10 && nginx -s quit (same LB-drain window as php-fpm)
- storefront grace
30
- redis grace
60 + preStop redis-cli SHUTDOWN NOSAVE (ephemeral cache — NOSAVE)
Cron and RabbitMQ are handled in #25 and #6 respectively — keep this issue to the four above.
Tasks
Context
Grace periods and preStop hooks are inconsistent across workloads:
sleep 10; kill -QUIT 1request_terminate_timeout)sleep 5 && nginx -s quitsleep 10Proposal
Align (all as component values, these become the defaults):
90(10 drain + 60 worker timeout + buffer)sleep 10 && nginx -s quit(same LB-drain window as php-fpm)3060+ preStopredis-cli SHUTDOWN NOSAVE(ephemeral cache — NOSAVE)Cron and RabbitMQ are handled in #25 and #6 respectively — keep this issue to the four above.
Tasks