ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
O arquivo de configuração queue.yaml
é usado para criar e configurar quase todas
as filas de tarefas
(push ou pull) que
seu app usa. Todos os apps do App Engine vêm com
uma fila push pré-configurada automaticamente chamada default
. Embora você não
crie a fila default
, é possível adicionar outras filas ou mudar a
configuração da fila default
usando o arquivo queue.yaml
.
Em aplicativos em Java, esse arquivo é armazenado em qualquer lugar no diretório do código-fonte.
Para configurar as filas push, use os métodos queue.yaml
ou
Gerenciamento de filas do Cloud Tasks, mas
não ambos ao mesmo tempo. Combinar o
método de upload queue.yaml
com os métodos de gerenciamento de fila pode produzir resultados
inesperados e não é recomendado.
queue.yaml
.
Exemplo
Este é um exemplo básico que define uma fila nomeada e substitui a taxa de processamento padrão:
queue:
- name: my-push-queue
rate: 1/s
Veja a seguir um exemplo mais complexo de uma configuração queue.yaml
que
demonstra a configuração do número de tentativas de tarefas e a modificação da taxa de processamento padrão.
queue:
- name: fooqueue
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
- name: bazqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 3
Sintaxe
O arquivo queue.yaml
é um YAML com a diretiva raiz queue
.
Essa diretiva contém zero ou mais filas nomeadas. Cada definição de fila pode especificar os seguintes elementos:
Elemento | Descrição |
---|---|
<bucket-size> (filas push) |
Opcional. Uma fila de tarefas usa o algoritmo de bucket de token para controlar a taxa de execução da tarefa. Cada fila nomeada tem um bucket que contém tokens até o máximo especificado pelo valor bucket_size. Sempre que o aplicativo executa uma tarefa, um token é removido do bucket. Você continua processando tarefas na fila até o bucket da fila ficar sem tokens. O App Engine recarrega continuamente o bucket com novos tokens com base na taxa especificada para a fila. O tamanho do bucket limita com que velocidade a fila é processada quando há muitas tarefas na fila e a taxa é alta. O valor máximo do tamanho do bucket é 500. Isso permite ter uma taxa alta. Dessa maneira, o processamento começará logo depois que uma tarefa for colocada na fila, mas ainda limitará o uso de recursos quando muitas tarefas forem enfileiradas em um curto período. Se você não especificar bucket_size para uma fila, o valor padrão será 5. Recomendamos que você o defina com um valor maior, porque o tamanho padrão pode ser muito pequeno para muitos casos de uso. Por exemplo, é possível determinar o tamanho do bucket com base na taxa de processamento. Para mais informações sobre esse elemento, consulte a descrição comparativa de
|
<max-concurrent-requests> (filas push) |
Opcional. Define o número máximo de tarefas que podem ser executadas simultaneamente a partir da fila especificada. O valor é um número inteiro. Por padrão, o limite é de 1.000 tarefas por fila. O limite máximo recomendado é de 5.000 tarefas por fila. Observe que as filas podem aumentar lentamente quando forem criadas pela primeira vez ou se estiverem inativas por um tempo. A restrição do número de tarefas simultâneas dá mais controle sobre a taxa de execução da fila e pode evitar que muitas tarefas sejam executadas de uma só vez. Isso também pode impedir a contenção do armazenamento de dados e disponibilizar recursos para outras filas ou processamento on-line. Para mais informações sobre esse elemento, consulte a descrição comparativa de
|
<mode> |
Opcional.
Identifica o modo da fila. Essa configuração assume o padrão |
<name> |
Obrigatório.
O nome da fila. Esse é
o nome que você especifica ao chamar
Um nome de fila pode conter letras maiúsculas e minúsculas, números e hifens. O comprimento máximo de um nome de fila é de 100 caracteres.
Todos os aplicativos têm uma fila push chamada "default". Essa fila tem uma taxa predefinida
de cinco tarefas por segundo. Observe que essa fila padrão não é exibida no
Console do Google Cloud até ser usada ou configurada pela primeira vez.
Para configurar a fila padrão, incluindo a mudança da taxa padrão,
defina uma fila chamada "padrão" no arquivo |
<rate> (filas push) |
Obrigatório.
Com que frequência as tarefas são processadas nesta fila. O valor é um número
seguido por barra e uma unidade de tempo, no qual a unidade é
Se o número for Para mais informações sobre esse elemento, consulte a descrição comparativa de
|
<retry-parameters> |
Opcional. Configura tentativas de repetição de tarefas com falha em filas push. Essa adição permite especificar o número máximo de vezes em que tarefas com falha são repetidas em uma fila específica. Também é possível definir um limite de tempo para novas tentativas e controlar o intervalo entre elas. Os parâmetros de repetição podem conter os seguintes subelementos:
|
<target> (filas push) |
Opcional. Uma string que nomeia um serviço/versão, uma versão de front-end ou um back-end, em que todas as tarefas enfileiradas são executadas. O valor padrão é a string vazia.
A sequência é anexada ao nome do domínio do seu aplicativo ao criar a solicitação HTTP para uma tarefa. Por exemplo, se o ID do seu aplicativo
for Se o destino não for especificado, as tarefas serão invocadas na mesma versão do aplicativo em que foram enfileiradas. Dessa maneira, se você tiver enfileirado uma tarefa da versão do aplicativo padrão sem especificar um destino na fila, a tarefa será invocada na versão padrão do aplicativo. Se a versão padrão do aplicativo mudar entre o momento em que a tarefa for enfileirada e o momento em que for executada, a tarefa será executada na nova versão padrão. Se você estiver usando serviços com um arquivo de expedição, a solicitação HTTP da tarefa poderá ser interceptada e encaminhada para outro serviço. |
Os seguintes elementos podem ser especificados para todas as filas em um aplicativo:
Elemento | Descrição |
---|---|
<total-storage-limit> |
Opcional. Uma string que substitui o limite de armazenamento da cota padrão disponível para armazenamento da fila de tarefas (100 M). Exemplo: <queue-entries> <total-storage-limit>1.2G</total-storage-limit> <queue> <name>fooqueue</name> </queue> </queue-entries> Esta cota faz parte da cota de armazenamento total do aplicativo (inclusive do armazenamento de dados e do armazenamento de blobs). Se nenhum sufixo for especificado, o número definido por você será interpretado como bytes. Os sufixos abaixo são compatíveis:
Se
|
Como implantar o arquivo de configuração da fila
O arquivo queue.yaml
pode residir em qualquer lugar no diretório do código-fonte.
Para implantar o arquivo de configuração da fila sem alterar a versão atual, use um dos comandos a seguir no diretório que contém o arquivo da fila, dependendo do seu ambiente:
gcloud
gcloud app deploy queue.yaml
Maven
mvn appengine:deployQueue queue.yaml
Gradle
gradle appengineDeployQueue queue.yaml
IDE
Se você usa IntelliJ ou Eclipse, use o formulário de implantação para selecionar os arquivos de configuração individuais a serem implantados.
Como excluir filas
Para excluir uma fila:
Remova a definição da fila do arquivo
queue.yaml
.Faça upload da alteração no arquivo
queue.yaml
.gcloud app deploy queue.yaml
Exclua a fila do Console do Google Cloud, selecione a fila e clique em Excluir fila:
Se você excluir uma fila do Console do Google Cloud, precisará aguardar sete dias antes de recriar outra com o mesmo nome.