Eco Dyno Hours
Last updated November 07, 2022
Table of Contents
Starting November 28, 2022, free Heroku Dynos, free Heroku Postgres, and free Heroku Data for Redis® plans will no longer be available. If you have apps using any of these resources, you must upgrade to paid plans by this date to ensure your apps continue to run and retain your data. Eligible students can apply for platform credits through our new Heroku for GitHub Students program. See our blog and FAQ for more info.
The Eco dynos plan provides 1000 dyno hours for $5 per month. This dyno hours pool is shared by all Eco dynos in your account. The Eco dynos plan always renews on the first day of each month. If you subscribe to Eco after the first day, you are still charged the full $5 for that month.
Only personal apps can use Eco dynos. Personal apps are apps that aren’t a part of a Heroku Team or Enterprise Team.
Subscribing to the Eco Dynos Plan
You must subscribe to the Eco dynos plan to scale up Eco dynos. You can subscribe on your account’s
Eco Dyno Hour Pool
The app owner must subscribe to the Eco dynos plan before you can scale up its Eco dynos. Subscribing to the plan immediately allots you 1000 dyno hours for the current month.
An app actively consumes Eco dyno hours if the app is set to use
eco dynos and any of the following are true:
- It has an Eco web dyno that can receive traffic (not sleeping).
- It has an Eco worker dyno running.
- It has a one-off Eco dyno running. For example, one started with the CLI or the Heroku Scheduler.
Eco dyno hours are non-transferable. If you transfer an application to a different account, the usage while the app was on your account remains until it resets the following month.
Personal apps and pipelines that you own and use Eco dynos consume dyno hours. Any Eco dynos used in your review apps, Heroku CI or other parts of your pipeline count towards your Eco dyno hours usage.
For example, you run one Eco dyno in a review app for 5 seconds, and another Eco dyno for your staging app for 7 minutes this month. You have 999 hours, 52 minutes, and 55 seconds remaining in your dyno hour pool for the month.
If you’re a collaborator on someone else’s app or pipeline, Heroku counts the dyno usage against the app owner’s Eco dyno hours, not yours. You don’t have to subscribe to Eco as a collaborator before you can scale up Eco dynos on that app, but the app owner does.
If an app has an Eco web dyno, and that dyno receives no web traffic in a 30-minute period, it sleeps. In addition to the web dyno sleeping, if you have a worker Eco dyno, it also sleeps.
Eco web dynos do not consume Eco dyno hours while sleeping.
If a sleeping web dyno receives web traffic, and your account has dyno hours available, the dyno becomes active again after a short delay.
Apps that only use an Eco worker dyno don’t sleep, because they don’t respond to web requests. Be mindful of this as they may run 24/7 and consume from your pool of hours.
Occasionally, monitoring services such as Pingdom or New Relic monitoring can prevent a web dyno from sleeping. Run
heroku logs -t to view your app’s logs to see if this is the case and turn off these services if it’s happening.
Remaining Eco Dyno Hours
When you use all your Eco dyno hours for a given month, all Eco dynos on your account are forced to sleep for the rest of the month. You can’t purchase additional dyno hours. If you need your apps to be up and running, you can upgrade to the Basic dyno ($0.01/hr).
You can view the amount of Eco dyno hours remaining in your account by using the CLI. Run
heroku ps on one of your apps using Eco dynos.
$ heroku ps -a example-app 650 eco dyno hours (65%) used 350 hours remaining === web (Eco): bundle exec puma -C config/puma.rb (1) web.1: idle 2022/11/28 15:51:45 -0700 (~ 22h ago)
Alternatively, you can also view your remaining hours on the
Billing page of your dashboard. The stats are refreshed daily.
When you exceed 80% of your Eco dyno quota, you receive an email notification warning you of your account usage, giving you time to adjust Eco dyno usage across your apps.
A second notification is sent when you reach 100% of your account quota, at which point your application’s dynos are put to sleep for the remainder of that month. As a result, any apps using Eco dynos won’t be accessible for the remainder of the month.
Unsubscribe from the Eco Dynos Plan
You can unsubscribe from the Eco dynos plan from the
Billing page of your dashboard.
When you cancel your plan:
- You can still use your remaining pool of hours until the end of the current month.
- If you run out of hours, all Eco dynos sleep for the rest of the month.
- Next month, all Eco dynos scale to 0 unless you subscribe to the Eco dynos plan again.
- If you resubscribe to Eco in the same month that you unsubscribed, your previous usage is preserved and you won’t be charged again until the next month.
Managing Your Eco Dyno Usage
- Scale down apps that you don’t use, and ensure that one-off dynos don’t stay running
- Upgrade any apps that are critical to Basic dynos
- Turn off any pinger or monitoring, such as New Relic or Pingdom, as they may unintentionally keep your app awake