Search code examples
node.jsherokuscheduledyno

How to schedule Heroku's (maintenance mode or recharge) at specific time of the day?


I'm trying to keep my Heroku (free) application awake during daytime. I don't really care if it sleeps late at night.

The old technique of continuously pinging the app is no longer a valid solution because since 2015, all free-app's have to sleep at least 6 hours a day.

I'd like to know if any of you guys figured this out before.

I need to schedule the recharge state or maintenance mode in a specific time range.

Let's make this question and an up-to-date resource of accomplishing this task.

Please submit only constructive ideas.


Solution

  • You can just scale it down for the six hours you want it to be asleep:

    heroku scale web=0
    

    Then scale it back up when you want to wake it up:

    heroku scale web=1
    

    There are a lot of ways to implement this; a script on some other machine would work fine, but you could probably also use the Heroku Platform API and a scheduler service:

    disclosure: I'm the Node.js Platform Owner at Heroku