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 de detención de trabajo
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.

  1. 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.

  2. Haz clic en la pestaña «Tareas» para ver los botones « Detener », « Detener forzosamente », « Finalizar » 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 », 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.
  1. Escriba el nombre de <option> en el recuadro de texto Opción de tipo para confirmar.
  2. 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

Schematics distintivos de detención de trabajo
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

  1. Configurar el cliente REST para ejecutar la API de Schematics.

  2. 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>"
    
  3. 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>"
    
  4. 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 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í x es la posición de su trabajo en la cola pendiente y y 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.