Noções Básicas Sobre Jobs

Um job é uma ação que o OS Management Hub executa em uma ou mais instâncias, como instalar atualizações ou anexar origens de software. Quando um job é executado, uma solicitação de serviço é criada para executar as tarefas necessárias para atender ao job, despachar o trabalho para instâncias e reportar os resultados de volta ao serviço.

Um job pode ser executado imediatamente ou você pode defini-lo para ser executado em uma data e hora futuras ou como um evento recorrente. Este é um cargo agendado. Você pode optar por repetir automaticamente um job programado em caso de falha. Quando a repetição automática é selecionada, se o job programado falhar em sua primeira execução, o serviço repete o job programado até três vezes, a cada cinco minutos de intervalo. Os jobs programados também podem ser marcados.

Estado do Job Programado

Os jobs programados estão em um dos seguintes estados:

  • Próxima execução: A data e a hora em que a tarefa está programada para ser executada.
  • Frequência: Indica se o job está definido para ser executado em uma programação recorrente ou se é executado apenas uma vez.
  • Destinos: Identifica o número de instâncias de destino do job.

Status da Solicitação de Serviço

Depois de ser despachado como uma solicitação de serviço, uma tarefa está em andamento ou concluída.

  • As solicitações de serviço em andamento relatam os seguintes valores de status possíveis:
    • Aceito: O serviço aceitou o job e tem o trabalho pronto para instâncias. Se um job não for pego por um agente e permanecer no estado aceito por 24 horas, o serviço marcará o job como com falha.
    • Em Andamento: Um agente selecionou o trabalho aceito e está executando-o em uma instância.
    • Cancelando: O job está sendo cancelado.
  • As solicitações de serviço concluídas reportam os seguintes valores de status possíveis:
    • Bem-sucedido: O job foi concluído sem erro.
    • Falha: O job falhou.
    • Cancelado: O job foi cancelado

Você pode exibir os resultados detalhados de um job exibindo o log de jobs e as mensagens de erro. Quando um job tem uma hierarquia, se algum job filho falhar, o serviço marcará o job pai como com falha.

Reexecutando um Job com Falha

Se um job falhar, você poderá reexecutar o job com falha em vez de criar manualmente um novo job para repetir a ação com falha. Você pode reexecutar um job com falha imediatamente ou programá-lo para ser executado em uma data e hora futuras. A reexecução do job cria uma nova solicitação de serviço para a mesma ação (como aplicar atualizações ou anexar origens de software). O trabalho original e seu status permanecem inalterados para fins de auditoria e histórico.

Para jobs em uma hierarquia, você pode reexecutar o job pai para reexecutar todos os jobs na hierarquia ou reexecutar os jobs filhos individualmente. Quando você executa novamente um pai com falha, o serviço só tem como alvo os jobs filhos com falha. Por exemplo, suponha que você tenha um grupo de dez instâncias e um job de atualização falhe em três das instâncias. Após verificar o log de jobs e as mensagens de erro e resolver os problemas reportados, você poderá executar novamente o job com falha para o grupo. A reexecução destina-se apenas às três instâncias que apresentaram a falha original.

Hierarquia de Cargos

Alguns trabalhos são divididos em tarefas menores. O serviço cria uma hierarquia de cargos em que o cargo inicial é o "pai" e as tarefas menores são "filhos". Para jobs maiores ou jobs que afetam várias instâncias, você pode descobrir facilmente quais tarefas dentro de um job foram bem-sucedidas ou falharam. Você pode exibir jobs filhos na guia Solicitações de serviço na página de detalhes do job pai.

Por exemplo, um job de atualização 'Todos' cria jobs filhos para cada tipo de atualização: Segurança, Correção de Bug, Aperfeiçoamento, Outros.

--Update All (parent)
  |--Update Security    (child)
  |--Update Bug fix     (child)
  |--Update Enhancement (child)
  |--Update Other       (child)

Um job reside no mesmo compartimento que seu recurso associado. Para jobs associados a um grupo ou ciclo de vida, isso pode significar que os jobs pai e filho estão em compartimentos distintos. O job pai reside no compartimento associado ao grupo ou ao ciclo de vida, enquanto os jobs filhos residem no compartimento associado a cada instância. Consulte Considerações sobre Compartimentos para obter as melhores práticas.

Por exemplo, adicionar uma origem de software a um grupo com três membros produz um único cargo pai com três cargos filhos, um para cada instância.
--Set software sources for dev group (parent in dev compartment)
  |--Set software source Instance 1 (child in dev compartment)
  |--Set software source Instance 2 (child in test compartment)
  |--Set software source Instance 3 (child in preview compartment)