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 proporciona una serie de opciones para permitir a los usuarios (gracefully) stop
, force-stop
o terminate
el trabajo en ejecución en orden de inmediatez e impacto de la operación de detención.
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 Terraform en ejecución. 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.
Un force-stop puede enviarse tantas veces como se desee hasta que el comando se complete y el trabajo 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 termina un trabajo, éste se mata sin recoger ningún archivo 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 el Terraform no responde a las peticiones de stop
(señales de interrupción), siempre
puede 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 un estado pending
, cualquier tipo de solicitud de parada provoca la cancelación del trabajo. El botón Cancel
aparece si el trabajo está en un estado pending
, cuando puede ser
simplemente cancelado. 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
Puede seguir estos pasos para detener un trabajo de área de trabajo en ejecución utilizando 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.
-
Haga clic en la pestaña Trabajo para ver los botones Parar, Forzar parada, Terminar y Cancelar.
Opciones de detención de trabajo 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 y marca el trabajo como PARADO 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 estadopending
, momento en el que simplemente se puede cancelar. Cancelar elimina el trabajo de la cola pendiente. Si la ejecución deplan
,apply
odestroy
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 de espacio de trabajo IBM Cloud Schematics en ejecución.
Sintaxis
ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]
Opciones de mandato
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. Los datos no se guardan utilizando esta bandera. |
--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.
-
Utilice 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-stop
el 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
terminate
el 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 el trabajo en ejecución, consulte Detener y eliminar la API de 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 cola de trabajos, consulte Proceso de ejecución de la cola de trabajos 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í
x
es la posición de su trabajo en la cola pendiente yy
es 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.