IBM Cloud Docs
Detención o terminación de trabajos en ejecución

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

  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. 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 estado pending, momento en el que simplemente se puede cancelar. 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.
  3. Escriba el nombre de <option> en el recuadro de texto Opción de tipo para confirmar.

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

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

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

  2. 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>"
    
  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 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 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.