From time to time we will have to shutdown your application, for example when you deploy a new version or for maintenance and failover reasons.
Before we begin the shutdown process we first start a new instance of your application and redirect all traffic there.
To make sure we don't interrupt anything important we try to gracefully shutdown all running services. It's especially important in database hosting use-cases to ensure all data is synced to avoid loss and corruption.
The graceful shutdown process looks as follows:
By default we first send SIGWINCH. In popular software like Nginx and Apache it will trigger a safe shutdown procedure. This signal can be configured individually per appfleet cluster
We wait 2 seconds. This is the default value and can be changed in your cluster's settings
We send SIGTERM and wait for a maximum of 10 seconds
If needed we eventually kill the specific application to finish the process
If your application doesn't understand the WINCH signal and/or requires more than 2 seconds to gracefully shutdown you can configure both in your settings to ensure a safe and transparent deployment process.