Одна вещь, которую я мог бы попробовать, это настроить бесплатный CI / CD, например, travis-ci, и установить периодическое развертывание, а не на основе извлечения или фиксации, и создать конвейер travis-ci для периодического развертывания приложения в Heroku (с помощью без полной сборки?).
А, возможно, вам нужно изменить приложение, чтобы оно выполнялось только один раз, а затем выйти?
Другим способом может быть, если вы используете бесплатный уровень, если веб-приложение, работающее на бесплатном уровне Dynos, не получает трафик в течение 30 минут, оно будет спать, и это время не будет засчитываться как ваше свободное время. Поэтому я думаю, что вы можете установить travis-ci или что-то еще, что будет запускаться каждые 30+ минут (может быть, 40 минут, чтобы убедиться) и запустить ваше приложение, а затем приложение будет запущено только один раз. При этом вы будете использовать менее 12 часов в день, а это значит, что вы будете в безопасности с этими 550 бесплатными часами Dynos.