# Scheduler

All component configurations are classified broadly into the following sections:

* ​[​Basic Information​](https://docs.bdb.ai/data-pipeline-6/components/component-base-configuration)​
* Meta Information
* [Resource Configuration​](https://docs.bdb.ai/data-pipeline-6/components/resource-configuration)​

## Scheduler as a Component

{% hint style="success" %}
*Check out the walk-through on Scheduler to get an idea on how to configure & use it in a workflow.*
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fc39ZvXI46qjXzpN3rYAg%2Fuploads%2FiGZSt0QlJooPwyPIEWER%2F2023-11-14-18-17-45%20(online-video-cutter.com).mp4?alt=media&token=2838d3ad-e358-450c-99e1-def3053d8abe>" %}
***Configuring & Using the Scheduler Component in the Data Pipeline Workflow***
{% endembed %}

All component configurations are classified broadly into the following sections:

* Drag and drop the Scheduler component to the ***Workflow Editor***.&#x20;
* Connect it with a reader or Data Loading component (Input event).
* Click on the Scheduler component to get the configuration details.&#x20;
* The ***Basic Information*** tab opens by default.&#x20;
  * Select an Invocation type from the drop-down menu to confirm the running mode of the reader component. The supported invocation type is ***Real-Time***.&#x20;
  * ***Deployment Type***: It displays the deployment type for the component. This field comes pre-selected.&#x20;
  * ***Container Image Version***: It displays the image version for the docker container. This field comes pre-selected.&#x20;
  * ***Failover Event***: Select a failover event from the drop-down menu.&#x20;
  * ***Batch Size (min 10)***: Provide the maximum number of records to be processed in one execution cycle (Min limit for this field is 10).

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/PJdoGYP0tAwOl1UEONuZ/image.png" alt=""><figcaption></figcaption></figure>

* Open the ***Meta Information*** tab and provide the required details for the same.
* **Scheduler Name**: Provide a name for the Scheduler.
* **Payload**: Provide the Payload value in the predefined format.
* **Timezone**: Select the timezone from the drop-down as per requirement.
* **Scheduler Time**: Time generated based on user selection in Cron generator.
* **Cron Generator:** A cron generator generates cron expression which is a string that represents a set of times at which a task will be executed. The user can set any time using the given units of time from Minutes to Year.

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/QBv7cCspjBBVZrApvkqN/image.png" alt=""><figcaption><p><em><strong>Configuring Meta information of Scheduler</strong></em></p></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>*&#x20;

* *The different values for various time units will be as given below:*&#x20;
  * *Hours(0-23)*&#x20;
  * *Minute(0-59)*&#x20;
  * *Seconds(0-59)*&#x20;
  * *Months in words(January-December)*&#x20;
  * *Months in digit(1-12)*&#x20;
  * *Week day(Monday-Sunday)*&#x20;
  * *Date of months(1-31) The Date of the months for the February month is up to 29.*
    {% endhint %}

### Cron Generator

The supported units of time for generating a Cron expression are as given below:

* [x] MINUTES - Scheduler can be scheduled at every given scheduled time in minutes, and seconds.      &#x20;

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/PP9aG68vuDWKAc9xzRiH/image.png" alt=""><figcaption></figcaption></figure>

* [x] HOURLY - Scheduler can be scheduled at every given scheduled time in Hours, Minutes, and seconds.

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/T0C7KMljHJf2Rh9MdhbN/image.png" alt=""><figcaption></figcaption></figure>

* [x] DAILY - Scheduler can be scheduled on daily basis.&#x20;

  * [x] (Every working day at) We Have one more option to schedule this task for every working day at given time interval.

  <figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/1hixvA7eq37fURVjyJ3w/image.png" alt=""><figcaption></figcaption></figure>
* [x] WEEKLY - Scheduler can be scheduled for every given day of the week at specified time.

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/eZbYsTuDXRqMG3v9MmaH/image.png" alt=""><figcaption></figcaption></figure>

* [x] MONTHLY - Scheduler can be scheduled at every given date of a given month and specified time/given time interval.&#x20;
  * [x] During the nearest Weekday: By enabling this option the Pipeline will be scheduled during the nearest weekday.
  * [ ] We have another option where scheduler can be scheduled at first-last occurrence of day (Monday-Sunday) starting at given month at a specified time and ending at given count of months. E.g., Second Monday of every month starting March and continuing for 3 months(count).

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/gnGLbaX5asO5zHtvtSAI/image.png" alt=""><figcaption></figcaption></figure>

* [x] YEARLY - Scheduler can be scheduled for every given day of the any month at specified time which will execute only every year.
  * [x] During the nearest Weekday: By enabling this option the Pipeline will be scheduled during the nearest weekday.
  * [x] The user has another option where scheduler can be scheduled at first-last occurence of day (Monday-Sunday) of a given month at a specified time.

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/Oy3Q8pCRXnvkN1on4iMn/image.png" alt=""><figcaption></figcaption></figure>

## Scheduler List Page

The scheduled pipelines are listed together with the scheduler details. It displays the meta-information filled in the scheduler component for the respective pipeline. The page also contains information on how many times the pipeline has been triggered and when the next time the scheduled component will get deployed.

{% hint style="success" %}
*Check out the given walk-through on the Scheduler List Page.*&#x20;
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fc39ZvXI46qjXzpN3rYAg%2Fuploads%2FaD3nhPAACpBVOZ73Jr2U%2F2023-11-14-18-34-51%20(online-video-cutter.com).mp4?alt=media&token=36d71bb8-5f3e-4f13-a607-7233fa484cd8>" %}
***Scheduler List page***&#x20;
{% endembed %}

* All the scheduled workflows get displayed on the ***Scheduler List Page*** of the Data Pipeline.
* The user can access the Scheduler icon from the left-side panel of the Pipeline landing page.
* By clicking on a Pipeline the right-side panel describes how many times the Pipeline has been triggered.
* The user gets redirected to the concerned pipeline by clicking the Pipeline name from the Scheduler List page.

<figure><img src="https://content.gitbook.com/content/wT6nkX9iZNRiZKBnpFmn/blobs/9TmkNUAMymzkgSXdG2g2/image.png" alt=""><figcaption><p><em><strong>Scheduler List Page</strong></em></p></figcaption></figure>


---

# Agent Instructions: 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.bdb.ai/data-pipeline-6/components/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.
