In the "list instances" page, you get a "Bounce" action link. This action only work if you have at least one active instance and one inactive instance (only one inactive instance takes part in the bounce). What it does is :
- Find the one inactive (i.e., not started) instance and start it
- Find the active instances (minus the one started in the previous step) and enable "Refuse New Session"
- Bounce Stop the active instances that are refusing new sessions when the minimum session count is reached
- Restart all but one of the instances that were just stopped and turn on "Auto-Recover"
This feature, from Pascal's understanding, allows you to upload new versions of your application, start up the new version and refuse sessions for the instances running on the older version. This is designed to work so that you always have just one inactive instance that is only used while the bounce is performed. While waiting for the existing sessions to end you will have only one instance of your app accepting new sessions; you need to determine if this is acceptable for your app or not.
It is uncertain what will happen if the new version of your application makes changes to your database schema (e.g., uses ERXMigrations). The old instances may raise exceptions before they can gracefully shut down because the schema no longer matches what the old application's EOF expects. Try it out on a test server first and then update this page so everyone knows!