# Job

To run a pipeline, you can create a job that describes how it should be executed. Job configuration can include:

* Target environment: Choose between running the pipeline in **development** environment for testing, or applying it in **production** environment after thorough validation.&#x20;
* Schedule time: Select a scheduling strategy for the pipeline, or trigger it manually.
* Variable settings: Configure values for variables referenced in the models&#x20;
* Notifications: Set up notifications for job failures via emails or third-party integrations.

## Tasks

During a job run, every node is wrapped inside a task - the basic unit of work that represents the operation to be performed on the asset. Tasks are executed in a specific order based on the asset's dependencies, which are retrieved the upstream and downstream relationship in the [DAG](/pipeline/overview.md).

Depending on the pipeline type, the functionality of the task may differ.&#x20;

For modeling pipeline, each task performs two main steps:

1. Materialize the asset: execute the transformation query specified in the asset.
2. Run data tests: run the associated data tests of the asset.

Advanced pipeline can involves various types of operators and transformations, such as the *TransferOperator* for extracting and loading data, or *SQLOperator* for performing ad-hoc data transformation.&#x20;

After a task has finished running, you can inspect the execution logs in [Pipeline health](/health-tracking/pipeline-health.md#task-details).

By design, when a task fails, the entire job run is also marked as failed and all downstream tasks won't be executed.&#x20;

## Create a job

{% hint style="info" %}
When you create a job from a pipeline, the job registers only the most recently published versions of the pipeline and associated models. To ensure that all changes are included, we recommend publishing the pipeline and models before creating the job.
{% endhint %}

Follow these steps to create a job:

1. From the **Pipelines** tab, select a pipeline.
2. Switch to the **Jobs** tab and click **+ Create a job**.
3. Provide the configuration for the job.

{% tabs %}
{% tab title="1. Detail" %}
Provide the name, select the target environment, and customize the associated model variables.

<figure><img src="/files/VDHiXkkmQGpbpzHcYN6n" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="2. Schedule" %}
Provide the schedule for the job and the trigger type:

* Standard setup: trigger the run at a specific time between certain intervals.
* Advanced setup: specify the schedule in crontab format, for those familiar with the `cron` scheduler. See: [Cron](https://en.wikipedia.org/wiki/Cron).
* Manually trigger: no scheduling; to be manually triggered in the **Pipeline Health** dashboard.

<figure><img src="/files/q2dINaUB2ddNQofqoBsb" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="3. Notification" %}
Here you can configure notifications on job failure. By default, notifications are sent by email.

<figure><img src="/files/onP6a1ZQYwyW4aeTvsKi" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

4. Click **Create**.&#x20;

The new job will be displayed in the **Jobs** section.

You can visit the [**Pipeline Health**](/health-tracking/pipeline-health.md) dashboard to monitor the execution status of the job or, as a shortcut, click on the job name to navigate to **Job details**.

<figure><img src="/files/DkDJMgFihuJAxumJOdIL" alt=""><figcaption></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.reorc.com/pipeline/job.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.
