#javascript #node.js #api #heroku #dyno
#javascript #node.js #API #heroku #dyno
Вопрос:
Я хочу добавлять и удалять динамики Heroku через platform API Так же, как мы делаем
ps:scale web=0
в интерфейсе командной строки Heroku toolbelt.
Я уже пробовал
POST /apps/{app_id_or_name}/dynos/{dyno_id_or_name}/actions/stop
но это ничего не делает, однако ответ имеет код состояния 200.
Комментарии:
1. Запуск ps: stop на динамиках, которые являются частью масштабируемого процесса, будет автоматически перезапущен.
2. @svikramjeet Я знаю об этой команде, но мне нужно сделать это через API платформы Heroku
3. Вы не можете удалить динамики с помощью API, пожалуйста, обратитесь к документам
Ответ №1:
В соответствии с поведением dyno stop ps:stop
, описанным в этом вопросе:
Запуск ps:stop
на динамиках, которые являются частью масштабируемого процесса, будет автоматически перезапущен. В частных пространствах ps:stop
завершит работу и заменит выделенный экземпляр, на котором запущены динамики. Чтобы окончательно остановить динамические модули, уменьшите масштаб процесса.»
Чтобы уменьшить динамические модули до 0 с помощью Platform API, вам необходимо использовать API формирования.
Формирование списка:
GET /apps/{app_id_or_name}/formation
$ curl -n https://api.heroku.com/apps/$APP_ID_OR_NAME/formation
-H "Accept: application/vnd.heroku json; version=3"
Обновление формирования:
PATCH /apps/{app_id_or_name}/formation/{formation_id_or_type}
$ curl -n -X PATCH https://api.heroku.com/apps/$APP_ID_OR_NAME/formation/$FORMATION_ID_OR_TYPE
-d '{
"quantity": 1,
"size": "standard-1X"
}'
-H "Content-Type: application/json"
-H "Accept: application/vnd.heroku json; version=3"
Отправка количества = 0 в качестве параметра приведет к масштабированию процесса dyno до нуля.