> For the complete documentation index, see [llms.txt](https://docs.digibee.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/triggers/scheduling/scheduler.md).

# Scheduler Trigger

## **Visão geral**

O Scheduler Trigger executa um pipeline em um agendamento recorrente definido por uma [expressão cron](https://en.wikipedia.org/wiki/Cron). Ele é útil quando a fonte de dados não consegue enviar dados para a Digibee via webhooks ou triggers baseados em eventos, e o pipeline precisa buscar os dados em um intervalo fixo.

O campo **Cron Expression** também aceita Globals, permitindo que diferentes ambientes (por exemplo, Test e Prod) executem o mesmo pipeline em agendamentos distintos sem precisar duplicar a definição do pipeline.

## **Variáveis do Scheduler Trigger**

O Scheduler Trigger possui quatro tipos:

* **5-Minute Scheduler:** Pré-configurado para executar a cada 5 minutos.
* **30-Minute Scheduler:** Pré-configurado para executar a cada 30 minutos.
* **Midnight Scheduler:** Pré-configurado para executar à meia-noite no fuso horário selecionado.
* **Custom Scheduler:** Sem pré-configuração. Aceita uma expressão cron personalizada.

## **Parâmetros**

| Parâmetro                        | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Tipo de dado | Suporta DB | Padrão  |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------- |
| **Cron Expression**              | <p>Expressão que define segundos, minutos, horas e a recorrência de um pipeline em dias. Aceita um valor estático ou uma <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/-MkqahfptVSOoczFtCr_">Global do tipo <strong>Cron</strong></a> usando a sintaxe Double Braces (por exemplo, <code>{{global.myCronExpression}}</code>).</p><p></p><p>Para detalhes sobre o formato da expressão, consulte a <a href="http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html">documentação do Quartz Scheduler</a>. Para construir expressões de forma interativa, utilize o <a href="http://www.cronmaker.com/">CronMaker</a>.</p> | String       | ✅          | N/A     |
| **Time Zone**                    | Fuso horário sob o qual o pipeline é executado. Se não especificado, o UTC é utilizado. Por exemplo, 12:00 UTC corresponde às 09:00 no fuso horário de São Paulo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | String       | ❌          | N/A     |
| **Maximum Timeout**              | Tempo máximo de processamento do pipeline antes de encerrar a execução, em milissegundos.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Integer      | ❌          | `30000` |
| **Retries**                      | Número máximo de tentativas de reexecução em caso de falha.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Integer      | ❌          | `0`     |
| **Allow Redelivery Of Messages** | Quando habilitado, permite que mensagens sejam reenviadas caso o Pipeline Engine falhe.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Boolean      | ❌          | `false` |
| **Allow Concurrent Scheduling**  | Quando habilitado, uma nova execução é iniciada mesmo que uma execução anterior ainda esteja em andamento.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Boolean      | ❌          | `false` |

## **Informações adicionais dos parâmetros**

### **Allow Concurrent Scheduling**

Se um pipeline está configurado para executar a cada 3 minutos e uma execução anterior leva 4 minutos, este parâmetro determina se a próxima execução será iniciada imediatamente ou aguardará.

* **Habilitado:** A próxima execução inicia no horário agendado, independentemente de a execução anterior ter sido concluída.
* **Desabilitado:** A próxima execução fica em espera até que a execução anterior seja concluída.

### **Cron Expression com Globals**

É possível referenciar uma Global no campo **Cron Expression** para aplicar agendamentos diferentes por ambiente usando uma única definição de pipeline. Por exemplo, o ambiente de Test pode executar a cada 5 minutos, enquanto o ambiente de Prod executa uma vez ao dia.

#### **Como configurar**

Antes de referenciar uma Global no trigger, crie uma na área de gerenciamento de Globals.

1. Acesse a página **Build** na plataforma.
2. Acesse **Globals**.
3. Clique em **Criar**.
4. Selecione a categoria **Cron**.
5. Defina o valor da expressão cron para cada ambiente (Test, Prod).
6. Preencha os campos restantes conforme descrito na [documentação de Globals](/documentation/developer-guide/pt-br/development-cycle/build-overview/globals.md).
7. Clique em **Salvar**.

<figure><img src="/files/nv0YAmlYxDXPcuvQYKBs" alt=""><figcaption></figcaption></figure>

Após criar a Global, abra o pipeline e acesse a configuração do trigger. No campo **Cron Expression**, digite `{{global.` e selecione a variável desejada. Apenas variáveis da categoria **Cron** serão listadas. Após a seleção, o campo será preenchido com `{{global.global-name}}`.

Note que a resolução da variável acontece no momento do deploy. Ao fazer o deploy do pipeline, o sistema valida e aplica a Global referenciada para aquele ambiente.

## **Scheduler Trigger em ação**

Este trigger é útil quando uma fonte de dados não consegue enviar dados para a Digibee via HTTP, REST, HTTP File, Kafka, RabbitMQ ou JMS. Casos de uso comuns incluem:

* Busca de arquivos em SFTP, FTP, Amazon S3, Google Cloud Storage e serviços similares de armazenamento de arquivos.
* Consultas diretas a bancos de dados (neste caso, utilize o conector **Stream DB** com paginação).
* Verificação do status de endpoints da Digibee Integration Platform que não suportam notificações baseadas em webhook.

### **Cenário: Pipeline executado a cada 30 segundos, sem sobreposição, usando uma fonte de dados estática**

O exemplo a seguir mostra como configurar um Scheduler Trigger para executar um pipeline a cada 30 segundos sem sobreposição de execuções. Um timeout de 2 minutos é definido utilizando o fuso horário de São Paulo (UTC-3).

Crie um novo pipeline e configure o trigger com os seguintes valores:

* **Cron Expression:** `0/30 ** ? ***`
* **Time Zone:** `America/Sao_Paulo`
* **Maximum Timeout:** `120000`
* **Retries:** `0`
* **Allow Redelivery Of Messages:** desabilitado
* **Allow Concurrent Scheduling:** desabilitado

Em seguida, adicione um conector [**JSON Generator (Mock)**](/documentation/connectors-and-triggers/connectors/tools/json-generator.md) ao pipeline e conecte-o ao trigger. Configure-o com o seguinte JSON para que o pipeline retorne um payload estático a cada execução:

```json
{
    "data": {
        "products": [
            {
                "name": "Samsung 4k Q60T 55",
                "price": 3278.99
            },
            {
                "name": "Samsung galaxy S20 128GB",
                "price": 3698.99
            }
        ]
    }
}
```

A cada execução do pipeline, o JSON configurado é retornado automaticamente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/triggers/scheduling/scheduler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
