Heroku has an API Rate Limit in place. This API Rate Limit is set at the Heroku account-level, not at the application-level. Once the limit has been exceeded, the Heroku account in question is no longer able to perform API calls until the rate limit counter resets. The rate limit counter resets once per hour.
In order to reduce the frequency at which we hit the Heroku API with your Heroku account, we cache the requested data locally for 10 minutes. This means that rather than requesting process data once per minute per application, we do this once per 10 minutes, significantly reducing the amount of calls against Heroku's API.
HireFire performs scaling operations in batches rather than in individual calls. This also helps significantly reduce the amount of calls against Heroku's API.
Warning: The Restart Crashed Dynos feature requires 1 additional API call per minute per application. When enabling this feature, we cannot use the above-mentioned caching technique because we need fresh formation data every minute in order to determine whether or not all dyno are up and running. If you enable this feature for too many applications under a single Heroku account, it might result in the API Rate Limit being exceeded. Use with caution and only if absolutely necessary.