Подтвердить что ты не робот

Количество дней в сети по времени дня

Есть ли способ использовать планировщик Heroku для запуска и остановки веб-динамиков для определенных периодов дня? Как говорят в рабочее время 2 динозавров и ночью только 1 дино?

Я действительно хотел бы избежать ввода обычных учетных данных пользователя/пароля в приложение, поэтому я ищу безопасный способ сделать это (за исключением того, что каждый раз каждый раз для каждого приложения). Естественно, использование "heroku ps: scale web = 2" было бы неплохо, но насколько я знаю, это не поддерживается.

Спасибо за любую обратную связь заранее...

4b9b3361

Ответ 1

Вы можете масштабировать диктофоны heroku по расписанию, создав script, который использует API Heroku. Затем вы делаете запись в своем Procfile и вызываете ее через дополнение к расписанию Heroku Scheduler. Вот как:

Сначала вам нужно добавить модуль python 'heroku' в ваш requirements.txt:

Heroku == 0.1.2

Затем создайте config var, который содержит ваш ключ API, поэтому ваш script может использовать API.

heroku config: добавьте HEROKU_API_KEY = your_api_key_string

Вы можете найти свой ключ API

Затем вы можете определить всю свою задачу на веб-странице планировщика Heroku или определить ее внутри своего Procfile и вызвать имя процесса Procfile с веб-страницы. Я предпочитаю последнее, так как это упрощает обновление или изменение процесса без необходимости входа на сайт heroku.

Итак, создайте записи в своем Procfile:

scale_up: python scale.py 2
scale_down: python scale.py 1

И затем планируйте их:

И вуаля! Теперь ваши динамики будут увеличиваться или уменьшаться в указанное время суток.

-

Обратите внимание, что как только вы создали запланированную задачу на веб-странице Scheduler, вы не можете редактировать время суток, когда оно запускается, но если вы создаете новую задачу, вы можете установить время, а затем удалить старую задачу.

Примечание 2: API-интерфейс heroku python, похоже, бросает KeyError, если вы пытаетесь масштабировать до 0 диносов или пытаетесь увеличить масштаб, если в настоящее время существует 0 веб-динов. Чтобы избежать обоих, просто не уменьшайте до 0 динов.

Ответ 2

Он не встроен в платформу, но его довольно легко реализовать с помощью планировщика и использовать токен API.