Golo Roden
Golo Roden

Reputation: 150684

Upgrade process on Heroku?

If I update an application running on Heroku using git push and this application is running on multiple dynos - how is the upgrade process run by Heroku?

In other words: Will there be a down-time of my "cluster", or will there be a small time-frame where different versions of my app are running in parallel, or ...?

Upvotes: 0

Views: 134

Answers (2)

Tom Fakes
Tom Fakes

Reputation: 955

Everyone says there's 'no downtime' when updating a Heroku app, but for your app this may not be true.

I've recently worked on a reasonably sized Rails app that takes at least 25 seconds to start, and often fails to start inside the 30 seconds that Heroku allows before returning errors to your clients.

During this entire time, your users are waiting for something to happen. 30 seconds is a long time, and they may not be patient enough to wait.

Someone once told me that if you have more than 1 dyno, that they are re-started individually to give you no downtime. This is not true - Heroku Stops all dynos and then Starts all Dynos.

At no time will there be 2 versions of your app running on Heroku

Upvotes: 2

Gul
Gul

Reputation: 1767

well can not tell the internal state but what i have experienced is

  • Code push complete
  • Code compiled (slug is compiled )
  • After that all dynos get the latest code and get restarted. (restart take up to 30 seconds or so and during this time all requests get queue).

So there will be no down time as during the restart process all the requests get queued and there i dont think that that multiple versions of your code will be running after the deployment.

Upvotes: 2

Related Questions