Parando ou terminando de executar trabalhos

Depois de chamar uma tarefa da área de trabalho, como um plan, um apply ou um destroy, você pode desejar parar a tarefa em execução ou parar o fornecimento de recursos Ao parar ou cancelar uma tarefa de longa execução, é aconselhável primeiro verificar os logs da tarefa para determinar se a tarefa está realmente presa e precisa parar ou se está executando operações de longa execução que estão levando tempo para concluir.

Schematics oferece várias opções que permitem aos usuários “ (gracefully) stop ”, “ force-stop ” ou “ terminate ” a tarefa em execução, de acordo com a urgência e o impacto da operação de interrupção.

Parar tipos de tarefa

A tabela fornece a lista de tipos de tarefas de parada:

Tipos de parada de tarefa
Tipos Descrição
stop Envia um sinal de interrupção ao comando do Terraform em execução. Isso executa a mesma função que ao executar o Terraform independente, em que um interrupt é enviado usando cntl-C ou semelhante ao Terraform. Os sinais de interrupção podem ser enviados várias vezes para notificar o Terraform para parar O Terraform tenta parar o comando em execução (planejar, aplicar, excluir) após qualquer operação de recurso em execução ser concluída e limpa. Schematics aguarda a conclusão do comando.. Após o comando ser interrompido ou concluído, os arquivos de estado e de log são coletados e salvos.
force-stop Envia um sinal de encerramento para o comando do Terraform em execução. Use isso no caso em que você deseja eliminar o comando Terraform depois de ver que o comando stop (interrupções) não está parando o comando. Um comando force-stop pode ser enviado quantas vezes forem necessárias até que o comando seja concluído e o trabalho seja interrompido. Se ele for capaz de responder ao sinal de kill, o Terraform interromperá as operações de comando e recurso em execução imediatamente e limpará. Após o comando ser interrompido ou concluído, o arquivos de estado e de log são coletados e salvos.
terminate Se as operações anteriores falharem, finalize imediatamente a tarefa Schematics. A tarefa é marcada como STOPPED e a área de trabalho desbloqueada. Quaisquer cópias salvas anteriormente dos logs e statefile são preservadas. Quando um trabalho é encerrado, ele é encerrado sem que nenhum arquivo seja coletado separadamente no final. Essa opção pode resultar na perda de dados do arquivo de registro e nas atualizações mais recentes do statefile e deve ser usada com cuidado

Até que a tarefa seja interrompida, é possível enviar qualquer número desses sinais de parada. Geralmente, não se deve enviar mais do que três sinais. Se o Terraform não responder às solicitações de stop (sinais de interrupção), você sempre pode usar force-stop``. Se force-stop não responder devido a algum problema na tarefa, você poderá usar sempre terminate para a tarefa a ser bloqueada.

Cancelando um trabalho

Se o trabalho estiver no estado “ pending ”, qualquer tipo de solicitação de interrupção fará com que o trabalho seja cancelado. O botão “ Cancel ” aparece se a tarefa estiver no estado “ pending ”, quando pode ser simplesmente cancelada. Cancelar remove a tarefa da fila pendente. Se a execução de plan, apply ou destroy for iniciada entretanto, que se torna um sinal de parada (interrupção) para o Terraform.

Parando uma tarefa em execução usando a IU

Você pode seguir estas etapas para interromper uma tarefa em execução no workspace usando o console.

  1. No Painel de Áreas de Trabalho, selecione a área de trabalho relacionada à tarefa em execução

    É possível parar ou cancelar a tarefa em execução durante uma execução de plano, aplicação ou destruição.

  2. Clique na guia “Tarefa” para visualizar os botões “Parar ”, “Parar à força ”, “Encerrar ” e “Cancelar ”.

Parar opções de trabalho
Botão Descrição
Parar Remove a tarefa da fila pendente, se ela estiver em estado pendente. Caso contrário, envia um sinal de interrupção para o comando do Terraform.
Forçar parada Envia um sinal de encerramento para o comando do Terraform em execução.
Finalizar Encerra o trabalho “ Schematics ”, marca-o como PARADO e desbloqueia o espaço de trabalho. Este comando deve ser usado cuidadosamente, pois pode resultar em perda de dados.
Cancelar O botão “ Cancel ” aparece se a tarefa estiver no estado “ pending ”, quando pode ser simplesmente cancelada. Cancelar remove a tarefa da fila pendente. Se a execução de plan, apply ou destroy for iniciada nesse meio tempo, isso acabará se tornando um sinal de interrupção para a execução do Terraform.
  1. Digite seu nome de <option> na caixa de texto Digitar opção para confirmar.
  2. Clique no botão Confirmar opção.

Parando uma tarefa em execução usando a CLI

Interrompe uma tarefa em execução no espaço de trabalho do IBM Cloud Schematics.

Sintaxe

ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]

Opções de comando

Schematics bandeiras de parada de tarefas
Sinalize Obrigatório / Opcional Descrição
--id ou -i Obrigatório O ID da área de trabalho a ser atualizado.
--job-id ou --jid Obrigatório O ID da tarefa.
--stop Opcional Remove a tarefa da fila pendente, se ela estiver em estado pendente. Caso contrário, envia um sinal de interrupção para o comando do Terraform.
--force-stop ou --fs Opcional Envia um sinal de encerramento para a execução do Terraform no mecanismo na tentativa de parar imediatamente a execução.
--terminate ou -t Opcional Encerra bruscamente o mecanismo, marca a tarefa como interrompida e desbloqueia sua área de trabalho. Os dados não são salvos com essa opção ativada.
--no-prompt Opcional Configure esta sinalização para executar o comando sem um modo interativo.

Exemplo

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>

Parando um tarefa em execução por meio da API

É possível usar os comandos CURL a seguir para parar uma tarefa em execução para a área de trabalho do IBM Cloud Schematics.

Sintaxe para parar tarefas em execução

  1. Configure seu cliente REST para executar a API do Schematics.

  2. Use a sintaxe e o exemplo para interromper o trabalho em execução.

    Sintaxe

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=interrupt -H "Authorization: <iam_token>"
    

    Exemplo

    curl -X DELETE https://schematics.cloud.ibm.com/v2/jobs/{job_id}?signal=interrupt -H "Authorization: <iam_token>"
    
  3. Use o exemplo para force-stop a tarefa em execução.

    Exemplo

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>"
    
  4. Use o exemplo para terminate a tarefa em execução.

    Exemplo

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=terminate -H "Authorization: <iam_token>"
    

    Para obter mais informações sobre como interromper uma tarefa em execução, consulte a API “Interromper e excluir a tarefa em execução ”.

Revisando os detalhes de tarefas do Schematics

Use a página de tarefa do Schematics no console para localiza o histórico de todas as atividades do Schematics, como fazer download de seu template, plan, apply e ver os logs das tarefas. As tarefas são criadas quando você executa seus modelos. Também é possível ver a contagem dos recursos que estão nas tarefas plan ou apply no status incluído, modificado ou destruído. Para obter mais informações sobre o processo da fila de tarefas, consulte o artigo “Processo de execução da fila de tarefas do Schematics ”.

No log de tarefas, é possível ver uma mensagem como:

  • Atividade acionada. Aguardando os logs. Isso significa que a tarefa está no status pendente e ainda para ser processada.

  • Sua tarefa foi enviada e está na fila, na posição x dentre y. Aqui x é a posição da sua tarefa na fila pendente e y é um total de tarefas pendentes. Os recursos disponíveis no back-end do Schematics são igualmente distribuídos para as tarefas pendentes. Caso você esteja executando um número enorme de tarefas, é possível visualizar o aumento de posição juntamente com o total.