# Azion CLI warmup

O comando `warmup` da Azion CLI aquece o cache de um site. Ele começa em uma URL base, segue os links que cada página traz e requisita cada URL que encontra, para que o conteúdo esteja no cache da Azion antes que os visitantes o peçam. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais da Azion CLI](/pt-br/documentacao/devtools/cli/globals/).

---

## Uso

`azion warmup` percorre o site a partir da URL que você passa em `--url`:

```bash
azion warmup [flags]
```

| Flag               | Curta | Tipo   | Padrão | Descrição                                                                                                                                                                                       |
| ------------------ | ----- | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--max-concurrent` | —     | int    | `2`    | Número máximo de requisições que o comando envia ao mesmo tempo.                                                                                                                                |
| `--max-urls`       | —     | int    | `1500` | Número máximo de URLs que o comando processa em uma execução.                                                                                                                                   |
| `--timeout`        | —     | int    | `8000` | Tempo, em milissegundos, que o comando espera por cada requisição.                                                                                                                              |
| `--url`            | —     | string | —      | **Obrigatório**. URL base onde o crawl começa, com o seu esquema, como `https://example.com`. A URL pode trazer um caminho, como `https://example.com/products`. Sem ela, o comando pede a URL. |

O comando requisita primeiro a URL base, lê os links de cada página que recebe e adiciona cada link novo a uma fila. O crawl termina quando a fila fica vazia ou quando o comando atinge `--max-urls`. No final, um resumo conta as URLs que tiveram sucesso e as URLs que falharam.

No `warmup`, `--timeout` conta milissegundos para cada requisição. Ele substitui a opção global `--timeout`, que conta segundos.

---

## Exemplos

Cada exemplo mostra o comando e a saída que ele imprime.

### Aquecer o cache de um site

Este comando percorre um site a partir da sua página inicial com os limites padrão:

```bash
azion warmup --url 'https://xxxxxxxxxx.map.azionedge.net/'
```

O comando imprime cada URL que requisita, os links que encontra nessa página e um resumo. Neste exemplo, a página inicial tem um link para `about.html`, então o comando requisita as duas páginas:

```text
Initializing cache warming...
Target site: https://xxxxxxxxxx.map.azionedge.net/
Configuration: 2 concurrent requests, max 1500 URLs
Request timeout: 8000ms

Processing batch: 1 URLs (0 remaining in queue)
[1/1500] /
  Found links: 1
  Examples:
    - about.html
Added to queue: 1 new URLs
Status: 1 processed | 1 queued | 0 failed

Processing batch: 1 URLs (0 remaining in queue)
[2/1500] about.html
Status: 2 processed | 0 queued | 0 failed

COMPLETED!
Processed: 2 URLs
Successful: 2
Failed: 0
Total time: 1.6s
Speed: 1.2 URLs/s
Cache warming completed successfully!
```

### Limitar o crawl

Este comando processa no máximo 5 URLs, envia uma requisição por vez e espera até 3.000 milissegundos por cada requisição:

```bash
azion warmup --url 'https://xxxxxxxxxx.map.azionedge.net/' --max-urls 5 --max-concurrent 1 --timeout 3000
```

A saída começa com os limites que o comando aplica, seguidos do mesmo crawl do exemplo anterior:

```text
Initializing cache warming...
Target site: https://xxxxxxxxxx.map.azionedge.net/
Configuration: 1 concurrent requests, max 5 URLs
Request timeout: 3000ms

Processing batch: 1 URLs (0 remaining in queue)
[1/5] /
  Found links: 1
  Examples:
    - about.html
Added to queue: 1 new URLs
Status: 1 processed | 1 queued | 0 failed

Processing batch: 1 URLs (0 remaining in queue)
[2/5] about.html
Status: 2 processed | 0 queued | 0 failed

COMPLETED!
Processed: 2 URLs
Successful: 2
Failed: 0
Total time: 1.4s
Speed: 1.4 URLs/s
Cache warming completed successfully!
```

---

## Recursos relacionados

- [Opções globais da Azion CLI](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, incluindo o `--timeout` global, em segundos.
- [Azion CLI deploy](/pt-br/documentacao/devtools/cli/deploy.md): O comando que faz o deploy de um site e imprime o domínio que você aquece depois.
- [Azion CLI purge](/pt-br/documentacao/devtools/cli/purge.md): O comando que remove conteúdo do cache, como uma página que você alterou antes de aquecê-la de novo.
- [Expiração e atualização](/pt-br/documentacao/plataforma/applications/cache/expiracao-e-atualizacao.md): Por quanto tempo uma cópia em cache dura e, portanto, por quanto tempo uma página aquecida fica no cache.
