如何通过平台API添加和删除Heroku Dynos

问题描述

我想通过平台API添加删除Heroku Dynos 就像我们一样

 listaRelTareasOrquestador = (List<GesbrokerSuiteEntities>)cache.Get("listaOrquestador");

            foreach (GesbrokerSuiteEntities registro in listaRelTareasOrquestador) {

                using (GesbrokerSuiteEntities ctx = new GesbrokerSuiteEntities()) {

                    rel_tareas_orquestador nuevoregistroOrquestador = new rel_tareas_orquestador();

                    nuevoregistroOrquestador.id_robot_hija = listaRelTareasOrquestador[0].rel_tareas_orquestador.FirstOrDefault().id_robot_hija;
                    nuevoregistroOrquestador.id_robot_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_padre;
                    nuevoregistroOrquestador.id_robot_tarea_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_padre;
                    nuevoregistroOrquestador.id_robot_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_hija;
                    nuevoregistroOrquestador.id_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_tarea_hija;

在Heroku工具区CLI中。

我已经尝试过

ps:scale web=0

但是它什么也没做,但是响应的状态码为200。

解决方法

根据该问题中概述的dyno stop ps:stop行为:

在作为缩放过程一部分的测功机上运行ps:stop将自动重新启动。在“专用空间”中,ps:stop将终止并替换运行该dyno的专用实例。要永久停止测功,请按比例缩小该过程。“

要通过Platform API将测功机缩小到0,您需要使用formation 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"

发送 quantity = 0 作为参数会将dyno进程缩放为零。