

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Offres d'emploi bloquées dans un `RUNNABLE` statut
<a name="job_stuck_in_runnable"></a>

Supposons que votre environnement informatique contienne des ressources informatiques, mais que vos tâches ne progressent pas au-delà de `RUNNABLE` leur statut. Dans ce cas, il est probable que quelque chose empêche le placement des tâches sur une ressource informatique et bloque vos files d'attente de tâches. Voici comment savoir si votre tâche attend son tour ou si elle est bloquée et bloque la file d'attente.

Si vous AWS Batch détectez que vous avez une `RUNNABLE` tâche en tête et que vous bloquez la file d'attente, vous recevrez un [Événements bloqués dans la file d'offres d'emploi](batch-job-queue-blocked-events.md) événement d'Amazon CloudWatch Events indiquant le motif. La même raison est également mise à jour dans le `statusReason` champ dans le cadre `[ListJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListJobs.html)` d'appels d'`[DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)`API. 

Vous pouvez éventuellement configurer le `jobStateTimeLimitActions` paramètre par le biais `[CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)` d'actions [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html)d'API.

**Note**  
Actuellement, pour les files d'attente de tâches connectées aux environnements informatiques Amazon ECS, Amazon EKS ou Fargate, la seule action que vous pouvez utiliser est `jobStateLimitActions.action` d'annuler une tâche.

Le `jobStateTimeLimitActions` paramètre est utilisé pour spécifier un ensemble d'actions exécutées AWS Batch sur des tâches dans un état spécifique. Vous pouvez définir un seuil de temps en secondes via le `maxTimeSeconds` champ.

Lorsqu'une tâche est dans un `RUNNABLE` état défini`statusReason`, AWS Batch exécute l'action spécifiée après son `maxTimeSeconds` expiration.

Par exemple, vous pouvez définir le `jobStateTimeLimitActions` paramètre pour qu'il attende jusqu'à 4 heures pour toute tâche dont l'`RUNNABLE`état attend la disponibilité d'une capacité suffisante. Vous pouvez le faire en `statusReason` réglant sur 14400 avant d'annuler la tâche et de laisser la tâche suivante passer en tête de file d'attente. `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY` `maxTimeSeconds`

Voici les raisons invoquées lorsqu' AWS Batch il détecte qu'une file d'attente de tâches est bloquée. Cette liste fournit les messages renvoyés par les actions `ListJobs` et `DescribeJobs` API. Il s'agit également des mêmes valeurs que vous pouvez définir pour le `jobStateLimitActions.statusReason` paramètre. 

1. **Raison :** tous les environnements informatiques connectés présentent des erreurs de capacité insuffisante. Sur demande, AWS Batch détecte les instances Amazon EC2 présentant des erreurs de capacité insuffisante. L'annulation manuelle de la tâche permettra à la tâche suivante de passer en tête de file d'attente.
   + **`statusReason`message lorsque la tâche est bloquée :** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]`
   + **`reason`utilisé pour `jobStateTimeLimitActions` :** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`
   + **`statusReason`message après l'annulation de la tâche :** `Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`

   **Remarque :**

   1. Le rôle AWS Batch de service nécessite une `autoscaling:DescribeScalingActivities` autorisation pour que cette détection fonctionne. Si vous utilisez le rôle [Utilisation de rôles liés à un service pour AWS Batch](using-service-linked-roles.md) lié à un service (SLR) ou la politique [AWS stratégie gérée : **AWSBatchServiceRole**stratégie](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSBatchServiceRolePolicy) gérée, vous n'avez aucune action à effectuer car leurs politiques d'autorisation sont mises à jour.

   1. Si vous utilisez le SLR ou la politique gérée, vous devez ajouter les `ec2:DescribeSpotFleetRequestHistory` autorisations `autoscaling:DescribeScalingActivities` et afin de pouvoir recevoir les événements de file d'attente de tâches bloqués et le statut des tâches mis à jour lorsque vous êtes connecté`RUNNABLE`. En outre, AWS Batch a besoin de ces autorisations pour effectuer des `cancellation` actions via le `jobStateTimeLimitActions` paramètre, même si elles sont configurées dans la file d'attente des tâches.

   1. Dans le cas d'une tâche multinode parallel (MNP), si l'environnement de calcul Amazon EC2 à priorité élevée associé rencontre des `insufficient capacity` erreurs, il bloque la file d'attente même si un environnement de calcul de priorité inférieure rencontre cette erreur.

1. **Raison :** Tous les environnements informatiques ont un [https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-maxvCpus](https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-maxvCpus)paramètre inférieur aux exigences de la tâche. L'annulation de la tâche, manuellement ou en activant le `jobStateTimeLimitActions` paramètre`statusReason`, permet à la tâche suivante de passer en tête de file d'attente. Vous pouvez éventuellement augmenter le `maxvCpus` paramètre de l'environnement informatique principal pour répondre aux besoins de la tâche bloquée.
   + **`statusReason`message lorsque la tâche est bloquée :** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.`
   + **`reason`utilisé pour `jobStateTimeLimitActions` :** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`
   + **`statusReason`message après l'annulation de la tâche :** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`

1. **Raison :** aucun environnement informatique ne possède d'instance répondant aux exigences du poste. Lorsqu'une tâche demande des ressources, AWS Batch détecte qu'aucun environnement informatique associé n'est en mesure de prendre en charge la tâche entrante. L'annulation de la tâche, manuellement ou en activant le `jobStateTimeLimitActions` paramètre`statusReason`, permet à la tâche suivante de passer en tête de file d'attente. Vous pouvez éventuellement redéfinir les types d'instances autorisés dans l'environnement de calcul pour ajouter les ressources de travail nécessaires.
   + **`statusReason`message lorsque la tâche est bloquée :** ` MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - The job resource requirement (vCPU/memory/GPU) is higher than that can be met by the CE(s) attached to the job queue.`
   + **`reason`utilisé pour `jobStateTimeLimitActions` :** `MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`
   + **`statusReason`message après l'annulation de la tâche :** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`

1. **Raison :** Tous les environnements informatiques présentent des problèmes de rôle de service. Pour résoudre ce problème, comparez les autorisations de votre rôle de service aux autorisations [AWS politiques gérées pour AWS Batch](security-iam-awsmanpol.md) et corrigez les éventuelles lacunes. Remarque : vous ne pouvez pas configurer d'action programmable via le `jobStateTimeLimitActions` paramètre pour résoudre cette erreur.

   Il est recommandé d'utiliser le [Utilisation de rôles liés à un service pour AWS Batch](using-service-linked-roles.md) pour éviter des erreurs similaires.

   L'annulation de la tâche, manuellement ou en activant le `jobStateTimeLimitActions` paramètre`statusReason`, permet à la tâche suivante de passer en tête de file d'attente. Si le ou les problèmes liés au rôle de service ne sont pas résolus, il est probable que la prochaine tâche soit également bloquée. Il est préférable d'étudier et de résoudre ce problème manuellement. 
   + **`statusReason`message lorsque la tâche est bloquée :** `MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.`

1.  **Raison :** votre environnement informatique possède une configuration de type d'instance non prise en charge. Cela peut se produire lorsque les types d'instances ne sont pas disponibles dans les zones de disponibilité que vous avez sélectionnées, ou lorsque votre modèle de lancement ou votre configuration de lancement contient des paramètres incompatibles avec les types d'instances spécifiés. Pour résoudre ce problème, vérifiez que vos types d'instances sont pris en charge dans les zones spécifiées Région AWS et dans les zones de disponibilité, vérifiez que les paramètres de votre modèle de lancement sont compatibles avec vos types d'instances et envisagez de passer à des types d'instances de nouvelle génération. Pour plus d'informations sur la recherche des types d'instances pris en charge, consultez la section [Trouver un type d'instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) dans le guide de l'utilisateur *Amazon EC2*.
   + **`statusReason`message lorsque la tâche est bloquée :** `MISCONFIGURATION:EC2_INSTANCE_CONFIGURATION_UNSUPPORTED - Your compute environment associated with this job queue has an unsupported instance type configuration.`

1. **Raison :** Tous les environnements informatiques ne sont pas valides. Pour de plus amples informations, veuillez consulter [`INVALID`environnement informatique](invalid_compute_environment.md). Remarque : Vous ne pouvez pas configurer une action programmable via le `jobStateTimeLimitActions` paramètre pour résoudre cette erreur. 
   + **`statusReason`message lorsque la tâche est bloquée :** `ACTION_REQUIRED - CE(s) associated with the job queue are invalid.`

1. **Raison :** AWS Batch a détecté une file d'attente bloquée, mais n'est pas en mesure d'en déterminer la raison. Remarque : Vous ne pouvez pas configurer une action programmable via le `jobStateTimeLimitActions` paramètre pour résoudre cette erreur. *Pour plus d'informations sur le dépannage, consultez [Pourquoi mon AWS Batch travail est-il bloqué dans RUNNABLE ou dans AWS Re:post](https://repost.aws/knowledge-center/batch-job-stuck-runnable-status).*
   + **`statusReason`message lorsque la tâche est bloquée :** `UNDETERMINED - Batch job is blocked, root cause is undetermined.`

Si vous n'avez pas reçu d'événement de la part d' CloudWatch Events ou si vous avez reçu un événement pour une raison inconnue, voici quelques causes courantes de ce problème.

**Le pilote de `awslogs` journal n'est pas configuré sur vos ressources informatiques**  
AWS Batch les tâches envoient leurs informations de journal à CloudWatch Logs. Dans ce cas, vous devez configurer vos ressources de calcul de manière à ce qu'elles utilisent le pilote de journal `awslogs`. Supposons que vous basiez votre AMI de ressources de calcul sur l'AMI optimisée pour Amazon ECS (ou Amazon Linux). Ce pilote est ensuite enregistré par défaut dans le `ecs-init` package. Supposons maintenant que vous utilisiez une autre AMI de base. Vous devez ensuite vérifier que le pilote de `awslogs` journal est spécifié comme pilote de journal disponible avec la variable d'`ECS_AVAILABLE_LOGGING_DRIVERS`environnement lorsque l'agent de conteneur Amazon ECS est démarré. Pour plus d’informations, consultez [Spécification d'AMI de ressources de calcul](batch-ami-spec.md) et [Tutoriel : Création d'une AMI de ressources de calcul](create-batch-ami.md).

**Ressources insuffisantes**  
Si vos définitions de tâches spécifient plus de ressources de processeur ou de mémoire que ce que vos ressources de calcul peuvent allouer, vos tâches ne sont jamais placées. Supposons, par exemple, que votre tâche spécifie 4 GiB de mémoire et que vos ressources de calcul soient inférieures à celles disponibles. Il arrive alors que la tâche ne puisse pas être placée sur ces ressources informatiques. Dans ce cas, vous devez réduire la mémoire spécifiée dans la définition de tâche ou ajouter des ressources de calcul à votre environnement. Une partie de la mémoire est réservée à l'agent de conteneur Amazon ECS et à d'autres processus critiques du système. Pour de plus amples informations, veuillez consulter [Gestion de la mémoire des ressources informatiques](memory-management.md).

**Pas d'accès à Internet pour les ressources informatiques**  
Les ressources de calcul ont besoin de communiquer avec le point de terminaison de service Amazon ECS service. Cela peut être via un point de terminaison d'un VPC d'interface ou via vos ressources de calcul ayant des adresses IP publiques.  
Pour plus d'informations sur les points de terminaison d'un VPC d'interface, veuillez consulter [Points de terminaison d'un VPC d'interface Amazon ECS AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) dans le *Guide du développeur Amazon Elastic Container Service*.  
Si vous n'avez pas de point de terminaison d'un VPC d'interface configuré et que vos ressources de calcul n'ont pas d'adresses IP publiques, elles doivent utiliser la traduction d'adresse réseau (NAT) pour fournir cet accès. Pour de plus amples informations, veuillez consulter [Passerelles NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) dans le *Guide de l'utilisateur Amazon VPC*. Pour de plus amples informations, veuillez consulter [Création d'un VPC](create-a-vpc.md).

**Limite d'instances Amazon EC2 atteinte**  
Le nombre d'instances Amazon EC2 dans lesquelles votre compte peut être lancé Région AWS est déterminé par votre quota d'instances EC2. Certains types d'instances sont également soumis à un per-instance-type quota. Pour plus d'informations sur le quota d'instances Amazon EC2 de votre compte, notamment sur la manière de demander une augmentation de limite, consultez les limites de [service Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) dans le guide de l'utilisateur Amazon *EC2*.

**L'agent de conteneur Amazon ECS n'est pas installé**  
L'agent de conteneur Amazon ECS doit être installé sur l'Amazon Machine Image (AMI) pour permettre l' AWS Batch exécution de tâches. L'agent de conteneur Amazon ECS est installé par défaut sur Amazon ECS optimisé AMIs. Pour plus d'informations sur l'agent de conteneur Amazon ECS, consultez la section relative à l'[agent de conteneur Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_agent.html) dans le *guide du développeur Amazon Elastic Container Service*.

Pour plus d'informations, voir [Pourquoi mon AWS Batch travail est-il `RUNNABLE` bloqué ?](https://aws.amazon.com/premiumsupport/knowledge-center/batch-job-stuck-runnable-status/) dans *Re:post*.