Présentation des travaux

Une tâche est une action prise par Autonomous Linux sur une ou plusieurs instances, telles que l'installation de mises à jour ou l'association de sources de logiciels. Lorsqu'un travail est exécuté, il effectue le travail nécessaire pour l'exécuter, transmet le travail aux instances et renvoie les résultats au service.

Vous pouvez exécuter un travail immédiatement ou le programmer pour une date et une heure futures. Vous pouvez programmer certaines tâches, telles que des tâches de mise à jour, en tant qu'événement récurrent ou les régler à une nouvelle tentative automatique. Lorsque la nouvelle tentative automatique est sélectionnée, si une tâche échoue lors de sa première exécution, le service tente la tâche jusqu'à trois fois, chacune à cinq minutes d'intervalle. Les tâches programmées peuvent être marquées.

Statut de la tâche

Les tâches programmées affichent les informations suivantes :

  • Prochaine exécution : Date et heure d'exécution de la tâche.
  • Fréquence : Indique si la tâche est définie selon un programme récurrent ou une exécution ponctuelle.
  • Cibles : Identifie le nombre d'instances cibles pour la tâche.

Après la répartition, une tâche est en cours ou terminée.

  • Les tâches en cours indiquent les valeurs de statut possibles suivantes :
    • Accepté : Le service a accepté la tâche et est prêt pour les instances. Si une tâche n'est pas récupérée par un agent et reste à l'état Accepté pendant 24 heures, le service marque l'échec de la tâche.
    • En cours : Un agent a sélectionné le travail accepté et l'exécute sur une instance.
    • Annulation : La tâche est en cours d'annulation
  • Les tâches terminées indiquent les valeurs de statut possibles suivantes :
    • Réussie : La tâche s'est terminée sans erreur.
    • Échec : Le travail a échoué.
    • Annulé : Le travail a été annulé

Vous pouvez voir les résultats détaillés d'une tâche en consultant le journal des tâches et les messages d'erreur. Lorsqu'une tâche comporte une hiérarchie, si une tâche enfant échoue, le service marque l'échec de la tâche parent.

Réexécution d'une tâche ayant échoué

En cas d'échec d'une tâche, vous pouvez exécuter de nouveau la tâche en échec au lieu de créer manuellement une nouvelle tâche pour réessayer l'action en échec. Vous pouvez réexécuter une tâche en échec immédiatement ou la programmer pour qu'elle s'exécute à une date et une heure futures. Une réexécution crée un nouveau travail de la même action (par exemple, appliquer des mises à jour ou joindre des sources de logiciels). La tâche initiale et son statut restent tels quels à des fins de vérification et d'historique.

Pour les emplois d'une hiérarchie, vous pouvez réexécuter l'emploi parent ou réexécuter individuellement les emplois enfants. Lorsque vous réexécutez un parent en échec, le service cible uniquement les tâches enfants en échec. Par exemple, supposons que vous ayez un groupe de dix instances et qu'une tâche de mise à jour échoue sur trois d'entre elles. Après avoir vérifié le journal des tâches et les messages d'erreur et résolu les problèmes signalés, vous pouvez réexécuter la tâche en échec pour le groupe. La réexécution cible uniquement les trois instances ayant subi l'échec initial.

Travail programmé restreint

Chaque instance d'Autonomous Linux a une tâche programmée restreinte avec le type de mise à jour 'Tout' qui s'exécute quotidiennement pour maintenir l'instance à jour. Il s'agit de la tâche de mise à jour autonome. Vous pouvez modifier l'heure d'exécution de la tâche, mais vous ne pouvez pas modifier sa fréquence ni supprimer la tâche.

Hiérarchie des emplois

Certains travaux sont divisés en tâches plus petites. Le service crée une hiérarchie de tâches dans laquelle la tâche initiale est le "parent" et les tâches plus petites sont des "enfants". Pour les tâches plus volumineuses ou qui affectent plusieurs instances, vous pouvez facilement déterminer les tâches qui ont réussi ou échoué au sein d'une tâche. Vous pouvez voir les tâches enfants dans la section Travail associé de la page de détails de la tâche parent.

Par exemple, une tâche de mise à jour 'Tout' crée des tâches enfants pour chaque type de mise à jour : Sécurité, Correction de bogues, Amélioration, Autre.

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

Les tâches résident dans le même compartiment que la ressource associée. Pour les tâches associées à un groupe, cela peut signifier que les tâches parents et enfants résident dans différents compartiments. La tâche parent réside dans le compartiment associé au groupe, tandis que les tâches enfants résident dans le compartiment associé à chaque instance. Voir Considérations relatives aux compartiments pour connaître les meilleures pratiques.

Par exemple, l'ajout d'une source de logiciels à un groupe de trois membres produit une tâche parent unique avec trois tâches enfants, une pour chaque instance.
--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)