

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Enfileiramento de tarefas
<a name="job-queueing"></a>

Usando o enfileiramento de tarefas, você pode enviar mais solicitações de trabalhos de transcrição do que as que podem ser processadas simultaneamente. Sem o enfileiramento de tarefas, quando você atinge a cota de solicitações simultâneas permitidas, é necessário esperar até que uma ou mais solicitações sejam concluídas para só então enviar uma nova solicitação.

O enfileiramento de tarefas é opcional tanto para solicitações de tarefas de transcrição quanto para solicitações de tarefas de análise pós-chamada.

Se você habilitar o enfileiramento de tarefas, o Amazon Transcribe criará uma fila que contém todas as solicitações que excedem seu limite. Assim que uma solicitação é concluída, uma nova solicitação é retirada da fila e processada. As solicitações enfileiradas são processadas na ordem FIFO (primeiro a entrar, primeiro a sair).

Você pode adicionar até dez mil trabalhos à fila. Se você exceder esse limite, receberá um erro `LimitExceededConcurrentJobException`. Para manter o desempenho ideal, o Amazon Transcribe só usa até 90% da sua cota (uma taxa de largura de banda de 0,9) para processar trabalhos enfileirados. Observe que esses são valores padrão que podem ser aumentados por meio de uma solicitação.

**dica**  
Você pode encontrar uma lista de limites e cotas padrão para recursos do Amazon Transcribe na [Referência geral da AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). Alguns desses padrões podem ser aumentados por meio de uma solicitação.

Se você habilitar o enfileiramento de tarefas, mas não exceder a cota de solicitações simultâneas, todas as solicitações serão processadas simultaneamente.

## Habilitar o enfileiramento de tarefas
<a name="job-queueing-how"></a>

Você pode habilitar o enfileiramento de tarefas usando o **Console de gerenciamento da AWS**, a **AWS CLI** ou **SDKs da AWS**. Consulte os exemplos a seguir:

### Console de gerenciamento da AWS
<a name="queueing-console-batch"></a>

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/transcribe/).

1. No painel de navegação, escolha **Tarefas de transcrição** e selecione **Criar tarefa** (no canto superior direito). Isso abre a página **Especificar os detalhes da tarefa**.

1. Na caixa **Configurações de tarefa**, há o painel **Configurações adicionais**. Se você expandir esse painel, poderá selecionar a caixa **Adicionar à fila de tarefas** para habilitar o enfileiramento de tarefas.  
![Captura de tela do console do Amazon Transcribe: a página “Especificar os detalhes da tarefa”.](http://docs.aws.amazon.com/pt_br/transcribe/latest/dg/images/jobqueueing.png)

1. Preencha os outros campos que deseja incluir na página **Especificar os detalhes da tarefa** e selecione **Próximo**. Isso leva você à página **Configurar tarefa: *opcional***.

1. Selecione **Criar tarefa** para executar a tarefa de transcrição. 

### AWS CLI
<a name="queueing-cli"></a>

Este exemplo usa o comando [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) e o parâmetro `job-execution-settings` com o subparâmetro `AllowDeferredExecution`. Observe que, ao incluir `AllowDeferredExecution` na solicitação, você também deve incluir `DataAccessRoleArn`.

Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) e [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html).

```
aws transcribe start-transcription-job \
--region {{us-west-2}} \
--transcription-job-name {{my-first-transcription-job}} \
--media MediaFileUri=s3://{{amzn-s3-demo-bucket}}/{{my-input-files}}/{{my-media-file}}.{{flac}} \
--output-bucket-name {{amzn-s3-demo-bucket}} \
--output-key {{my-output-files}}/ \
--language-code {{en-US}} \
--job-execution-settings AllowDeferredExecution=true,DataAccessRoleArn=arn:aws:iam::{{111122223333}}:role/{{ExampleRole}}
```

Veja a seguir outro exemplo usando o comando [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) e um corpo de solicitação que permite o enfileiramento.

```
aws transcribe start-transcription-job \
--region {{us-west-2}} \
--cli-input-json file://{{my-first-queueing-request}}.json
```

O arquivo *my-first-queueing-request.json* contém o corpo de solicitação a seguir.

```
{
  "TranscriptionJobName": "{{my-first-transcription-job}}",
  "Media": {
        "MediaFileUri": "s3://{{amzn-s3-demo-bucket}}/{{my-input-files}}/{{my-media-file}}.{{flac}}"
  },
  "OutputBucketName": "{{amzn-s3-demo-bucket}}",
  "OutputKey": "{{my-output-files}}/", 
  "LanguageCode": "{{en-US}}",
  "JobExecutionSettings": {
        "AllowDeferredExecution": true,
        "DataAccessRoleArn": "arn:aws:iam::{{111122223333}}:role/{{ExampleRole}}"
  }
}
```

### AWS SDK para Python (Boto3)
<a name="queueing-python-batch"></a>

Este exemplo utiliza o AWS SDK para Python (Boto3) para habilitar o enfileiramento de tarefas usando o argumento `AllowDeferredExecution` para o método [start\_transcription\_job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_transcription_job). Observe que, ao incluir `AllowDeferredExecution` na solicitação, você também deve incluir `DataAccessRoleArn`. Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) e [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html).

Para ver exemplos adicionais de uso dos SDKs da AWS, bem como exemplos específicos de recursos, cenários e entre serviços, consulte o capítulo [Exemplos de código para o Amazon Transcribe usando AWS SDKs](service_code_examples.md).

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', '{{us-west-2}}')
job_name = "{{my-first-queueing-request}}"
job_uri = "s3://{{amzn-s3-demo-bucket}}/{{my-input-files}}/{{my-media-file}}.{{flac}}"
transcribe.start_transcription_job(
    TranscriptionJobName = job_name,
    Media = {
        'MediaFileUri': job_uri
    },
    OutputBucketName = '{{amzn-s3-demo-bucket}}',
    OutputKey = '{{my-output-files}}/', 
    LanguageCode = '{{en-US}}', 
    JobExecutionSettings = {
        'AllowDeferredExecution': True,
        'DataAccessRoleArn': 'arn:aws:iam::{{111122223333}}:role/{{ExampleRole}}'
   }
)

while True:
    status = transcribe.get_transcription_job(TranscriptionJobName = job_name)
    if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

Você pode visualizar o andamento de um trabalho em fila por meio do Console de gerenciamento da AWS ou enviando uma solicitação [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html). Quando um trabalho está na fila, o `Status` é `QUEUED`. O status muda para `IN_PROGRESS` quando o trabalho começa a ser processado e, em seguida, muda para `COMPLETED` ou `FAILED` quando o processamento é concluído.