Detención o terminación de trabajos en ejecución
Después de invocar un trabajo de espacio de trabajo, como un plan, un apply o un destroy, es posible que desee detener el trabajo en ejecución o detener el suministro de recursos. Al detener o cancelar un
trabajo de larga ejecución, es aconsejable comprobar primero los registros de trabajo para determinar si el trabajo está realmente atascado y necesita detenerse, o si está realizando operaciones de larga ejecución que tardan tiempo en completarse.
Schematics ofrece varias opciones que permiten a los usuarios « (gracefully) stop », « force-stop » o « terminate » el trabajo en ejecución, según la urgencia y el impacto de la operación de parada.
Detener tipos de trabajo
La tabla proporciona la lista de tipos de trabajo de detención:
| Tipos | Descripción |
|---|---|
stop |
Envía una señal de interrupción al comando de Terraform que se está ejecutando. Esto realiza la misma función que cuando se ejecuta Terraform autónomo, donde un interrupt se envía utilizando cntl-C o similar a
Terraform. Las señales de interrupción se pueden enviar varias veces para notificar a Terraform que se detenga. Terraform intenta detener el mandato en ejecución (planificar, aplicar, suprimir) después de que se hayan completado y limpiado
las operaciones de recursos en ejecución. Schematics espera a que se complete el mandato. Después de detener o finalizar el mandato, los archivos de estado y de registro se recopilan y se guardan. |
force-stop |
Envía una señal de terminación (kill) al mandato Terraform en ejecución. Utilice esto en el caso en el que desee interrumpir el mandato de Terraform después de ver que el mandato de detención (interrupciones) no está deteniendo el mandato.
Se puede enviar un comando « force-stop » tantas veces como se desee hasta que el comando se complete y la tarea se detenga. Si es capaz de responder a la señal de terminación, Terraform detiene el mandato en ejecución y
las operaciones de recursos inmediatamente y limpia. Después de detener o finalizar el mandato, los archivos de estado y los archivos de registro se recopilan y se guardan. |
terminate |
Si las operaciones anteriores fallan, la terminación detiene inmediatamente el trabajo Schematics. El trabajo se marca como STOPPED y el espacio de trabajo se desbloquea. Las copias guardadas anteriormente de los registros
y statefile se conservan. Cuando se cierra un trabajo, este se detiene sin que se guarden los archivos por separado al final. Esta opción puede provocar la pérdida de datos del archivo de registro y las últimas actualizaciones
de statefile y se debe utilizar con cuidado. |
Hasta que el trabajo se detenga, puede enviar cualquier número de estas señales de detención. Normalmente, no debe enviar más de tres señales. Si Terraform no responde a las solicitudes de « stop » (señales de interrupción), siempre
puedes utilizar « force-stop ». Si force-stop no responde debido a algún problema en el trabajo, siempre puede terminate el trabajo para bloquear.
Cancelación de un trabajo
Si el trabajo se encuentra en estado « pending », cualquier tipo de solicitud de detención provocará su cancelación. El botón « Cancel » aparece si el trabajo se encuentra en estado « pending », momento
en el que se puede cancelar fácilmente. Cancelar elimina el trabajo de la cola pendiente. Si la ejecución de plan, apply o destroy se inicia mientras tanto, lo que se convierte en una señal de detención
(interrupción) para Terraform.
Detención de un trabajo en ejecución utilizando la interfaz de usuario
Puedes seguir estos pasos para detener un trabajo del espacio de trabajo que se esté ejecutando mediante la consola.
-
En el panel de control Espacios de trabajo, seleccione el espacio de trabajo relacionado con el trabajo en ejecución.
Puede detener o cancelar el trabajo en ejecución durante una ejecución de plan, aplicación o destrucción.
-
Haz clic en la pestaña «Tareas» para ver los botones « Detener », « Detener forzosamente », « Finalizar » y « Cancelar ».
| Botón | Descripción |
|---|---|
| Detener | Elimina el trabajo de la cola pendiente, si está en estado pendiente. De lo contrario, envía una señal de interrupción al mandato Terraform. |
| Forzar detención | Envía una señal de terminación (kill) al mandato Terraform en ejecución. |
| Terminar | Finaliza el trabajo « Schematics », lo marca como «DETENIDO» y desbloquea el espacio de trabajo. Este mandato debe utilizarse con cuidado, ya que puede provocar la pérdida de datos. |
| Cancelar | El botón « Cancel » aparece si el trabajo se encuentra en estado « pending », momento en el que se puede cancelar fácilmente. Cancelar elimina el trabajo de la cola pendiente. Si la ejecución de plan,
apply o destroy se inicia mientras tanto, esto termina convirtiéndose en una señal de interrupción para la ejecución de Terraform. |
- Escriba el nombre de
<option>en el recuadro de texto Opción de tipo para confirmar. - Pulse el botón Confirmar opción.
Detención de un trabajo en ejecución utilizando la CLI
Detiene un trabajo del espacio de trabajo de IBM Cloud Schematics que se está ejecutando.
Sintaxis
ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]
Opciones de comando
| Distintivo | Obligatorio / Opcional | Descripción |
|---|---|---|
--id o -i |
Obligatorio | El ID de espacio de trabajo que debe actualizarse. |
--job-id o --jid |
Obligatorio | El ID de trabajo del trabajo. |
--stop |
Opcional | Elimina el trabajo de la cola pendiente, si está en estado pendiente. De lo contrario, envía una señal de interrupción al mandato Terraform. |
--force-stop o --fs |
Opcional | Envía una señal kill a la ejecución de Terraform en el motor que intenta detener inmediatamente la ejecución. |
--terminate o -t |
Opcional | Termina abruptamente el motor, marca el trabajo como detenido y desbloquea el espacio de trabajo. Con este indicador no se guardan los datos. |
--no-prompt |
Opcional | Establezca este distintivo para ejecutar el mandato sin una modalidad interactiva. |
Ejemplo
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --force-stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --terminate --job-id <JOB_ID>
Detención de un trabajo en ejecución mediante la API
Puede utilizar los siguientes mandatos de CURL para detener un trabajo en ejecución para el espacio de trabajo de IBM Cloud Schematics.
Sintaxis para detener la ejecución de trabajos
-
Configurar el cliente REST para ejecutar la API de Schematics.
-
Utiliza la sintaxis y el ejemplo para detener el trabajo en ejecución.
Sintaxis
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=interrupt -H "Authorization: <iam_token>"Ejemplo
curl -X DELETE https://schematics.cloud.ibm.com/v2/jobs/{job_id}?signal=interrupt -H "Authorization: <iam_token>" -
Utilice el ejemplo para
force-stopel trabajo en ejecución.Ejemplo
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>" -
Utilice el ejemplo para
terminateel trabajo en ejecución.Ejemplo
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=terminate -H "Authorization: <iam_token>"Para obtener más información sobre cómo detener un trabajo en ejecución, consulta la API « Detener y eliminar el trabajo en ejecución ».
Revisión de los detalles del trabajo de Schematics
Utilice la página del trabajo de Schematics en la consola para encontrar el historial de todas las actividades de Schematics, como descargar la template, plan o apply, así como para ver los registros de
los trabajos. Los trabajos se crean al ejecutar las plantillas. También puede ver el recuento de los recursos que están en los trabajos de plan o apply y que se encuentran en estado añadido, modificado o destruido. Para obtener más información sobre el proceso de la cola de trabajos, consulta el proceso de ejecución de la cola de trabajos de « Schematics ».
En el registro de trabajo puede ver un mensaje como:
-
Actividad desencadenada. Esperando los registros. Esto significa que el trabajo está en estado pendiente y aún no se ha procesado.
-
El trabajo se ha enviado y está en la cola, en la posición x con respecto a y. Aquí
xes la posición de su trabajo en la cola pendiente yyes un total de trabajos pendientes. Los recursos disponibles en el programa de fondo de Schematics se distribuyen por igual a los trabajos pendientes. En caso de que esté ejecutando un gran número de trabajos, puede ver el aumento de la posición junto con el total.