Présentation des travaux
Un travail est une action effectuée par Autonomous Linux sur des instances, telles que l'installation de mises à jour ou l'attachement de sources logicielles. Lorsqu'un travail est exécuté, il effectue le travail nécessaire pour exécuter le travail, répartit le travail vers les 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 planifier certains travaux, tels que des travaux de mise à jour, en tant qu'événement récurrent ou les configurer pour réessayer automatiquement. Lorsque la nouvelle tentative automatique est sélectionnée, si un travail échoue lors de sa première exécution, le service tente à nouveau le travail jusqu'à trois fois, à cinq minutes d'intervalle. Les travaux planifiés peuvent être balisés.
Statut du job
Les travaux programmés présentent les informations suivantes :
- Prochaine exécution : date et heure d'exécution du travail.
- Fréquence : indique si le travail est défini sur une programmation récurrente ou une exécution ponctuelle.
- Cibles : identifie le nombre d'instances cible pour le travail.
Une fois répartie, une tâche est en cours ou terminée.
- Les travaux en cours présentent les valeurs de statut possibles suivantes :
- Accepté : le service a accepté le travail et le travail est prêt pour les instances. Si un travail n'est pas sélectionné par un agent et reste à l'état Accepté pendant 24 heures, le service marque l'échec du travail.
- En cours : un agent a récupéré le travail accepté et l'exécute sur une instance.
- Canceling : le travail est en cours d'annulation
- Les travaux terminés présentent les valeurs de statut possibles suivantes :
- Succès : le travail s'est terminé sans erreur.
- Echec : le travail a échoué.
- Annulé : le travail a été annulé
Vous pouvez visualiser les résultats détaillés d'un travail en consultant le journal de travail et les messages d'erreur. Lorsqu'un travail a une hiérarchie, en cas d'échec d'un travail enfant, le service marque l'échec du travail parent.
Réexécution d'un travail ayant échoué
En cas d'échec d'un travail, vous pouvez exécuter à nouveau le travail en échec au lieu de créer manuellement un nouveau travail pour relancer l'action en échec. Vous pouvez réexécuter un travail en échec immédiatement ou le programmer pour qu'il s'exécute à une date et une heure futures. Une réexécution crée une nouvelle tâche de la même action (par exemple, l'application de mises à jour ou l'association de sources logicielles). Le travail d'origine et son statut restent tels quels à des fins d'audit et d'historique.
Pour les travaux d'une hiérarchie, vous pouvez réexécuter le travail parent ou réexécuter individuellement les travaux enfant. Lorsque vous réexécutez un parent en échec, le service cible uniquement les travaux enfant en échec. Par exemple, supposons que vous ayez un groupe de dix instances et qu'un travail de mise à jour échoue sur trois d'entre elles. Après avoir révisé le journal des travaux et les messages d'erreur et résolu les problèmes signalés, vous pouvez réexécuter le travail en échec pour le groupe. La réexécution cible uniquement les trois instances qui ont subi l'échec initial.
Travail planifié restreint
Chaque instance d'Autonomous Linux dispose d'un travail programmé restreint avec le type de mise à jour Tout exécuté quotidiennement pour maintenir l'instance à jour. Il s'agit du travail de mise à jour autonome. Vous pouvez modifier l'heure à laquelle le travail est exécuté, mais vous ne pouvez pas modifier sa fréquence ni supprimer le travail.
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 le travail initial est le "parent" et les tâches plus petites sont les "enfants". Pour les travaux plus volumineux ou qui affectent plusieurs instances, vous pouvez facilement déterminer quelles tâches d'un travail ont réussi ou échoué. Vous pouvez visualiser les travaux enfant dans la section Travail associé de la page de détails de l'emploi parent.
Par exemple, un travail de mise à jour 'Tout' crée des travaux enfant pour chaque type de mise à jour : Sécurité, Correction de bogue, Amélioration, Autre.
--Update All (parent)
|--Update Security (child)
|--Update Bug fix (child)
|--Update Enhancement (child)
|--Update Other (child)
Les travaux résident dans le même compartiment que la ressource associée. Pour les travaux associés à un groupe, cela peut signifier que les travaux parent et enfant résident dans différents compartiments. Le travail parent réside dans le compartiment associé au groupe, tandis que les travaux enfant résident dans le compartiment associé à chaque instance. Pour connaître les meilleures pratiques, reportez-vous à Remarques concernant le compartiment.
Par exemple, l'ajout d'une source logicielle à un groupe comprenant trois membres produit un travail parent unique avec trois travaux enfant, un 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)