

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Lavori bloccati in uno `RUNNABLE` status
<a name="job_stuck_in_runnable"></a>

Supponiamo che l'ambiente di elaborazione contenga risorse di elaborazione, ma che i lavori non vadano oltre lo stato. `RUNNABLE` Quindi, è probabile che qualcosa impedisca l'inserimento dei lavori su una risorsa di elaborazione e causi il blocco delle code di lavoro. Ecco come sapere se il lavoro è in attesa del suo turno o se è bloccato e blocca la coda.

Se AWS Batch rileva che hai un `RUNNABLE` lavoro a capo e blocca la coda, riceverai un [Eventi bloccati in Job queue](batch-job-queue-blocked-events.md) evento da Amazon CloudWatch Events con il motivo. Lo stesso motivo viene aggiornato anche nel `statusReason` campo come parte delle chiamate `[ListJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListJobs.html)` `[DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)` API. 

Facoltativamente, puoi configurare il `jobStateTimeLimitActions` parametro tramite `[CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)` azioni [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html)API.

**Nota**  
Attualmente, per le code di lavoro connesse agli ambienti di calcolo Amazon ECS, Amazon EKS o Fargate, l'unica azione che puoi eseguire `jobStateLimitActions.action` è annullare un lavoro.

Il `jobStateTimeLimitActions` parametro viene utilizzato per specificare una serie di azioni da AWS Batch eseguire sui lavori in uno stato specifico. È possibile impostare una soglia temporale in secondi tramite il `maxTimeSeconds` campo.

Quando un lavoro si trova in uno `RUNNABLE` stato definito`statusReason`, AWS Batch esegue l'azione specificata dopo `maxTimeSeconds` che è trascorsa.

Ad esempio, è possibile impostare il `jobStateTimeLimitActions` parametro in modo che attenda fino a 4 ore per qualsiasi lavoro nello `RUNNABLE` stato in cui è in attesa che diventi disponibile una capacità sufficiente. È possibile farlo impostando `statusReason` su `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY` e `maxTimeSeconds` su 14400 prima di annullare il lavoro e consentire al lavoro successivo di passare in testa alla coda dei lavori.

Di seguito sono riportati i motivi che AWS Batch fornisce quando rileva che una coda di lavori è bloccata. Questo elenco fornisce i messaggi restituiti dalle azioni `ListJobs` e `DescribeJobs` API. Questi sono anche gli stessi valori che è possibile definire per il `jobStateLimitActions.statusReason` parametro. 

1. **Motivo:** tutti gli ambienti di elaborazione connessi presentano errori di capacità insufficienti. Quando richiesto, AWS Batch rileva le istanze Amazon EC2 che presentano errori di capacità insufficiente. L'annullamento manuale del lavoro consentirà al lavoro successivo di passare in testa alla coda.
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]`
   + **`reason`usato per`jobStateTimeLimitActions`:** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`
   + **`statusReason`messaggio dopo l'annullamento del lavoro:** `Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`

   **Nota:**

   1. Il ruolo AWS Batch di servizio richiede `autoscaling:DescribeScalingActivities` l'autorizzazione affinché questo rilevamento funzioni. Se utilizzi il ruolo [Utilizzo di ruoli collegati ai servizi per AWS Batch](using-service-linked-roles.md) collegato al servizio (SLR) o la policy [AWS politica gestita: **AWSBatchServiceRole**politica](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSBatchServiceRolePolicy) gestita, non devi intraprendere alcuna azione perché le relative politiche di autorizzazione vengono aggiornate.

   1. Se si utilizza la SLR o la policy gestita, è necessario aggiungere le `ec2:DescribeSpotFleetRequestHistory` autorizzazioni `autoscaling:DescribeScalingActivities` e in modo da poter ricevere gli eventi bloccati della coda dei lavori e lo stato aggiornato dei lavori quando si accede. `RUNNABLE` Inoltre, sono AWS Batch necessarie queste autorizzazioni per eseguire `cancellation` azioni tramite il `jobStateTimeLimitActions` parametro anche se sono configurate nella coda dei lavori.

   1. Nel caso di un lavoro parallelo a più nodi (MNP), se l'ambiente di calcolo Amazon EC2 ad alta priorità collegato presenta `insufficient capacity` errori, blocca la coda anche se in un ambiente di calcolo con priorità inferiore si verifica questo errore.

1. **Motivo:** tutti gli ambienti di elaborazione hanno 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)parametro inferiore ai requisiti del lavoro. L'annullamento del lavoro, manualmente o impostando il `jobStateTimeLimitActions` parametro on`statusReason`, consente al lavoro successivo di passare in testa alla coda. Facoltativamente, è possibile aumentare il `maxvCpus` parametro dell'ambiente di calcolo primario per soddisfare le esigenze del lavoro bloccato.
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.`
   + **`reason`usato per`jobStateTimeLimitActions`:** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`
   + **`statusReason`messaggio dopo l'annullamento del lavoro:** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`

1. **Motivo:** nessuno degli ambienti di elaborazione dispone di istanze che soddisfano i requisiti del lavoro. Quando un lavoro richiede risorse, AWS Batch rileva che nessun ambiente di calcolo collegato è in grado di ospitare il lavoro in arrivo. L'annullamento del lavoro, manualmente o impostando il `jobStateTimeLimitActions` parametro on`statusReason`, consente al lavoro successivo di passare in testa alla coda. Facoltativamente, puoi ridefinire i tipi di istanze consentiti nell'ambiente di calcolo per aggiungere le risorse di lavoro necessarie.
   + **`statusReason`messaggio mentre il lavoro è bloccato:** ` 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`usato per`jobStateTimeLimitActions`:** `MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`
   + **`statusReason`messaggio dopo l'annullamento del lavoro:** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`

1. **Motivo:** tutti gli ambienti di elaborazione presentano problemi relativi ai ruoli di servizio. Per risolvere questo problema, confronta le autorizzazioni del ruolo di servizio con le [AWS politiche gestite per AWS Batch](security-iam-awsmanpol.md) e risolvi eventuali lacune. Nota: non è possibile configurare un'azione programmabile tramite il parametro per risolvere questo errore. `jobStateTimeLimitActions`

   È consigliabile utilizzare il per evitare errori simili[Utilizzo di ruoli collegati ai servizi per AWS Batch](using-service-linked-roles.md).

   L'annullamento del lavoro, manualmente o impostando il `jobStateTimeLimitActions` parametro on`statusReason`, consente al lavoro successivo di passare in testa alla coda. Senza risolvere il problema o i problemi relativi al ruolo di servizio, è probabile che anche il lavoro successivo venga bloccato. È consigliabile esaminare e risolvere il problema manualmente. 
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.`

1.  **Motivo:** il tuo ambiente di calcolo ha una configurazione del tipo di istanza non supportata. Ciò può verificarsi quando i tipi di istanza non sono disponibili nelle zone di disponibilità selezionate o quando il modello di lancio o la configurazione di avvio contengono impostazioni incompatibili con i tipi di istanza specificati. Per risolvere il problema, verifica che i tipi di istanza siano supportati nelle zone di disponibilità specificate Regione AWS e nelle zone di disponibilità, verifica che le impostazioni del modello di lancio siano compatibili con i tipi di istanza e valuta la possibilità di eseguire l'aggiornamento a tipi di istanza di nuova generazione. Per ulteriori informazioni sulla ricerca dei tipi di istanza supportati, consulta [Finding an Amazon EC2 istanza di Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) nella *Amazon EC2* User Guide.
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `MISCONFIGURATION:EC2_INSTANCE_CONFIGURATION_UNSUPPORTED - Your compute environment associated with this job queue has an unsupported instance type configuration.`

1. **Motivo:** tutti gli ambienti di elaborazione non sono validi. Per ulteriori informazioni, consulta [`INVALID`ambiente di calcolo](invalid_compute_environment.md). Nota: non è possibile configurare un'azione programmabile tramite il `jobStateTimeLimitActions` parametro per risolvere questo errore. 
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `ACTION_REQUIRED - CE(s) associated with the job queue are invalid.`

1. **Motivo:** AWS Batch ha rilevato una coda bloccata, ma non è in grado di determinarne il motivo. Nota: non è possibile configurare un'azione programmabile tramite il `jobStateTimeLimitActions` parametro per risolvere questo errore. *Per ulteriori informazioni sulla risoluzione dei problemi, vedi [Perché il mio AWS Batch lavoro è bloccato in RUNNABLE on in Re:post](https://repost.aws/knowledge-center/batch-job-stuck-runnable-status). AWS*
   + **`statusReason`messaggio mentre il lavoro è bloccato:** `UNDETERMINED - Batch job is blocked, root cause is undetermined.`

Se non hai ricevuto un evento da CloudWatch Events o hai ricevuto l'evento Unknown Reason, ecco alcune delle cause più comuni di questo problema.

**Il driver di `awslogs` registro non è configurato sulle tue risorse di calcolo**  
AWS Batch i job inviano le proprie informazioni di registro a CloudWatch Logs. Per abilitare questa opzione, è necessario configurare le risorse di calcolo per utilizzare il driver di log `awslogs`. Supponiamo di basare l'AMI delle risorse di calcolo sull'AMI ottimizzata per Amazon ECS (o Amazon Linux). Quindi, questo driver viene registrato per impostazione predefinita con il pacchetto. `ecs-init` Supponiamo ora di utilizzare un'AMI di base diversa. Quindi, è necessario verificare che il driver di `awslogs` log sia specificato come driver di registro disponibile con la variabile di `ECS_AVAILABLE_LOGGING_DRIVERS` ambiente all'avvio dell'agente container Amazon ECS. Per ulteriori informazioni, consultare [Specifiche dell'AMI delle risorse di calcolo](batch-ami-spec.md) e [Tutorial: Creare un'AMI per risorse di calcolo](create-batch-ami.md).

**Risorse insufficienti**  
Se le definizioni dei processi specificano più risorse di CPU o memoria di quelle che le risorse di elaborazione possono allocare, i lavori non vengono mai collocati. Ad esempio, supponiamo che il tuo job specifichi 4 GiB di memoria e che le tue risorse di calcolo abbiano meno di quella disponibile. Quindi accade che il lavoro non possa essere collocato su quelle risorse di calcolo. In tal caso, è necessario ridurre la quantità di memoria specificata nella definizione di processo o aggiungere risorse di calcolo maggiori all'ambiente. Parte della memoria è riservata all'agente container Amazon ECS e ad altri processi di sistema critici. Per ulteriori informazioni, consulta [Gestione della memoria delle risorse di calcolo](memory-management.md).

**Nessun accesso a Internet per le risorse di elaborazione**  
Le risorse di calcolo richiedono un accesso per comunicare con l'endpoint del servizio Amazon ECS. Ciò può avvenire attraverso un endpoint VPC di interfaccia o tramite risorse di calcolo con indirizzi IP pubblici.  
Per ulteriori informazioni sugli endpoint di interfaccia Amazon ECR, consulta [Endpoint VPC dell'interfaccia Amazon ECS (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) nella *Guida per gli sviluppatori di Amazon Elastic Container Service*.  
Se non disponi di un endpoint VPC di interfaccia configurato e le risorse di calcolo non dispongono di indirizzi IP pubblici, per fornire questo accesso devono utilizzare il processo Network Address Translation (NAT). Per ulteriori informazioni, consulta [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)nella *Guida per l'utente di Amazon VPC*. Per ulteriori informazioni, consulta [Crea un VPC](create-a-vpc.md).

**Limite di istanze Amazon EC2 raggiunto**  
Il numero di istanze Amazon EC2 in cui il tuo account può avviare Regione AWS è determinato dalla quota di istanze EC2. Alcuni tipi di istanze hanno anche una quota. per-instance-type Per ulteriori informazioni sulla quota di istanze Amazon EC2 del tuo account e su come richiedere un aumento del limite, consulta Amazon [EC2 Service Limits nella Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) User *Guide*.

**L'agente container Amazon ECS non è installato**  
L'agente contenitore Amazon ECS deve essere installato su Amazon Machine Image (AMI) per consentire l' AWS Batch esecuzione dei lavori. L'agente contenitore Amazon ECS è installato per impostazione predefinita su Amazon ECS ottimizzato. AMIs Per ulteriori informazioni sull'agente container Amazon ECS, consulta l'agente container [Amazon ECS nella Amazon Elastic Container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_agent.html) *Service Developer Guide*.

Per ulteriori informazioni, consulta [Perché il mio AWS Batch lavoro è bloccato nello `RUNNABLE` status](https://aws.amazon.com/premiumsupport/knowledge-center/batch-job-stuck-runnable-status/)? in *Re:post*.