# Scheduled Jobs

A scheduled execution of a notebook is referred to as a “job.” The SingleStore job service provides a flexible and convenient way to schedule jobs using cron expressions that can be tailored to meet your requirements. Cron-based scheduling uses the [standard cron syntax](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/), providing precise control over when workloads are run. It supports the format - minute hour day month weekday, and allows for complex scheduling patterns (e.g., running jobs at 8:00 AM every Monday). Create, edit, and delete cron schedules, and validate cron expressions in real time.

After scheduling, the job service creates a snapshot. This snapshot represents a read-only notebook captured at the time the job was scheduled. It can be used for subsequent executions at the scheduled time until the user makes modifications. To ensure that the execution reflects the new changes, be sure to update the snapshot explicitly after modifying the notebook.

Create and manage scheduled jobs using the Cloud Portal or via the [Management API](https://docs.singlestore.com/cloud/reference/management-api.md).

## Scheduled Jobs using the Cloud Portal

## Create a Scheduled Job

Jobs can be scheduled for shared notebooks only. Create a scheduled job:

* **Using Jobs in the left navigation**

  Select **Schedule** (on the top right).

  ![In the left navigation, select Jobs, and then select Schedule to schedule a job.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/bltaf1ea532e5a51bc9/6a3549c52955a57dc704d850/Screenshot_2025-11-27_at_1_29_28_PM-ahh7u3.png)
* **Using Shared Notebooks**

  1. Navigate to **Editor > Shared** .

  2. Select a shared notebook.

  3. Select **Schedule** (on the top right).

  ![Schedule a notebook by selecting the Schedule button on the right upper side in the shared notebook.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/bltc7239125f573255c/6a3548e9e9d350783496638a/Screenshot_2025-11-18_at_12_33_22_PM-NCQUu6.png)

## New Scheduled Job

After selecting **Schedule**, a dialog box will appear.

Enter the **Job Settings**.

![Enter the job settings for scheduling a job](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/blt925faf783f21f4c3/6a3549d23cfd42700570f0a1/Screenshot_2025-11-27_at_1_41_51_PM-gvhTch.png)

| **Job Settings** |                                                                                                                                                                                                                                              |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**         | Enter a name for the job.                                                                                                                                                                                                                    |
| **Description**  | Enter the job description.                                                                                                                                                                                                                   |
| **Notebook**     | Select a shared notebook to run the job. The shared notebook is pre-selected when Job is scheduled through notebooks.                                                                                                                        |
| **Deployment**   | Select theSingleStoredeployment (workspace) the notebook connects to.Selecting aworkspaceallows connecting theSingleStoredatabases referenced in the notebook natively. A scheduled job can also be run without a deployment attached to it. |
| **Runtime**      | Select a runtime from the following:<ul> <li>Small</li> <li>Medium</li> <li>GPU-T4</li> </ul><blockquote> <p><strong>📝 Note</strong>: <p>This field is in preview.</p></p> </blockquote>                                                    |
| **Region**       | Select a region.                                                                                                                                                                                                                             |

Select **Next**. Enter the **Schedule Options**.

![](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/bltb5be1267b25914a6/6a3549ba9b557fc40e30089c/JobScheduleOptions-XSPXm9.png)

| **Scheduled Options**      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Start Executions After** | Specify the date and time for the first run of the scheduled job. Select one of the following available options:<ol> <li><strong>Now</strong>: The job runs as soon as it is created.</li> <li><strong>Datetime</strong>: Specify a <strong>Starting Date</strong> and <strong>Starting Time</strong>.</li> </ol>                                                                                                                                                                                                                                                                                                                                                                                 |
| **Schedule Mode**          | Specify the frequency to run a scheduled job. Select one of the following available options:<ol> <li><strong>One Time</strong>: The job runs a single time.</li> <li><strong>Recurring</strong>: Specify when the job needs to be run. Select from the following: <ul> <li>Hourly</li> <li>Weekly</li> <li>Monthly</li> <li>Weekdays at 9 PM</li> <li>Every 6 Hours</li> <li>Enter a custom valid CRON expression.</li> </ul></li> </ol>                                                                                                                                                                                                                                                          |
| **Parameters**             | Specify the job parameters for the scheduled job.<ol> <li><strong>Type</strong>: Select the type of parameters from the following: <ul> <li>String</li> <li>Integer</li> <li>Float</li> <li>Boolean</li> </ul></li> <li><strong>Name</strong>: Enter the name of the parameter.</li> <li><strong>Value</strong>: Enter the value of the parameter.</li> </ol><blockquote> <p><strong>📝 Note</strong>: <p>The system injects parameters as Python variables into the notebook while the scheduled job runs, and access them using the variables where required.</p></p> </blockquote>                                                                                                             |
| **Additional Settings**    | <ol> <li><strong>Save all execution results</strong>: Enable this setting to save the execution results. An execution result is a saved version of the notebook along with the cells containing outputs after the completion of a job run. This action enables to validate the execution result and the version of the notebook used for the run. By default, all snapshots for error and failed runs are saved.</li> <li><strong>Auto resume the deployment on job execution</strong>: Enable this setting to resume the deployment when the job runs. This action resumes any suspended workspace deployments. The previous auto-suspend settings of the workspace remain unchanged.</li> </ol> |

Select **Next**.

![View the summary of the job before creating a job.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/blt8608af6e7a3f7f53/6a35489030ff3c0af037331e/Screenshot_2025-11-27_at_1_54_39_PM-ph2KFa.png)

Select **Create Job** to schedule the job.

## Manage an Existing Job

To view an existing scheduled jobs and job runs, select **Jobs** in the left navigation pane. Existing jobs can be managed by performing the following actions:

* View
* Edit
* Pause
* Resume
* Delete

## View an Existing Job

To view a job, select the job name under the **Name** column.

![View the scheduled job under the Name column in the Jobs page.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/blt7ff39422b06aeeed/6a35488e14cd302d3bf83d1c/Screenshot_2025-11-27_at_1_56_58_PM-6tlx1f.png)

View the following job execution details for each job:

![View the job execution details in the right navigation of the selected job.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/blt513d42bf0c19871a/6a3548dfde9189378c0bcbe1/Screenshot_2025-11-27_at_1_58_14_PM-k2GWcQ.png)

View the details of a job on the **Job Details** pane in the right navigation. This page also supports refresh, edit, pause, resume, and delete actions for a job.

## Edit an Existing Job

To edit an existing job, navigate to the selected job page, select the ellipsis, and select **Edit Job**.

![Edit the job by selecting Edit Job in the ellipsis of the selected job.](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/bltc0369b00f27f6cf4/6a3549e347c71bb93821d8e5/Screenshot_2025-11-27_at_2_02_18_PM-nlN9Cn.png)

## Pause an Existing Job

To pause an existing job, navigate to the **Jobs** page, select the ellipses in the **Actions** column of the job, and select **Pause**. Alternatively, navigate to the selected job page, and select **Pause Job**.

## Resume an Existing Job

To resume an existing job, navigate to the **Jobs** page, select the ellipses in the **Actions** column of the job, and select **Resume**.

![](https://images.contentstack.io/v3/assets/bltac01ee6daa3a1e14/blt384b924781a4588b/6a35496e8a63080a27d56cfd/ResumeJob-bDdBrt.png)

## Delete an Existing Job

To delete an existing job, navigate to the **Jobs** page, select the ellipses in the **Actions** column of the job, and select **Delete**.

> **⚠️ Warning**: Deleting a job removes all associated job runs, including snapshots.

## Schedule Jobs using the Management API

Use the `Jobs` path (`/v1/jobs` endpoint) to create and manage jobs using the Management API. Refer to [Management API](https://docs.singlestore.com/cloud/reference/management-api.md) and [Management API Reference](https://docs.singlestore.com/cloud/reference/management-api/reference.md) for more information.

For example, the following API call returns information about the job with the specified `jobID`:

```
curl -X 'GET' \  'https://api.singlestore.com/v1/jobs/7b68b78d-0000-1000-9000-0864fd331524' \  -H 'accept: application/json'
```

## Status of Job Executions

| Status    | Description                                                                                                                                                                            |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scheduled | The next scheduled run for the job. The latest version of the notebook runs at the Start Time associated with the job.                                                                 |
| Completed | The notebook in this job run ran to completion.                                                                                                                                        |
| Failed    | The execution failed due to user error. View execution result to debug the failure.                                                                                                    |
| Error     | An error unrelated to the notebook code prevented this job from completing. Refer to[Troubleshoot Job Runs](https://docs.singlestore.com/#section-idm4502415224011234112089885605.md). |

## Troubleshoot Job Runs

SingleStore automatically saves an execution result notebook of an execution that fails. Navigate to **Jobs** in the left navigation, find the job, and download the snapshot associated with the failed job run to diagnose the error.

| Error                        | Solution                                                                                                                                                                                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| WorkspaceDeleted             | Edit the Job and select a deployment.                                                                                                                                                                                                             |
| WorkspaceSuspended           | Resume theworkspace, or create a new scheduled job with a different deployment.                                                                                                                                                                   |
| Database Detached            | Reattach the database with the right permissions or create a new scheduled job with a different database.                                                                                                                                         |
| Internal Errors / Misc       | Reach out to[SingleStoreSupport](http://support.singlestore.com)or use the chat feature in theCloud Portal.                                                                                                                                       |
| Notebook Timed Out           | View the snapshot to identify the cells where the notebook is timed out.Refer to[Configurability and Key Considerations](https://docs.singlestore.com/#section-idm4561569057196834112075552002.md)for the Execution Time limits set on a job run. |
| Notebook Deleted/Not present | Create a new scheduled job with a different notebook.                                                                                                                                                                                             |

## Configurability and Key Considerations

Scheduled notebook jobs run using a snapshot of the notebook captured at the time the job is created or last refreshed. Updates made to the notebook after the snapshot is captured do not affect scheduled job runs.

To apply updates to a scheduled job, explicitly refresh the notebook snapshot. In the **Jobs** page, select the job and then select **Refresh** in the top right. Alternatively, select the **ellipsis** (three dots), select **Edit Job**, and enable **Update snapshot** to reflect the updates from the associated notebook in the job.

An execution time limit is set for each job:

* **Maximum allowed execution duration**: Specifies the maximum total time a notebook job can run, including all retries. The job is terminated when this limit is reached, even if execution is still in progress. The maximum allowed execution duration limit is 8 hours.
* **Minimum execution interval**: Specifies the minimum required time interval between consecutive notebook job runs. Schedules with intervals shorter than this limit are not allowed. The minimum execution interval limit is 60 minutes.
* **Maximum execution interval**: Specifies the maximum allowed time between consecutive notebook job runs. Schedules with intervals longer than this limit are not allowed. The maximum execution interval limit is 31 days.

## Examples

The following examples demonstrate how **maximum allowed execution duration**, **minimum execution interval**, and **maximum execution interval** are used while creating a scheduled job and how those patterns apply to scheduling notebooks within the SingleStore job service.

## Example 1: Hourly Data Refresh Job

Run a notebook every hour to refresh business analytics tables.

## Configuration

Cron Expression: `0 * * * *`

**Execution Time Limits**

| **Execution Time Parameter**       | **Value**  |
| ---------------------------------- | ---------- |
| Minimum execution interval         | 60 minutes |
| Maximum execution interval         | 31 days    |
| Maximum allowed execution duration | 8 hours    |

## Behavior

This configuration allows the notebook to run once every hour, which satisfies the minimum execution interval of 60 minutes and remains within the maximum execution interval of 31 days. Each job run can execute for up to 8 hours, including retries, after which the system terminates the running job automatically. Cron expressions that schedule executions more frequently than once per hour, such as `*/30 * * * *` are not allowed.

## Example 2: Monthly Compliance Report

Run a notebook once per month to generate a compliance report.

## Configuration

Cron Expression: `0 0 1 * *`

**Execution Time Limits**

| **Execution Time Parameter**       | **Value**  |
| ---------------------------------- | ---------- |
| Minimum execution interval         | 60 minutes |
| Maximum execution interval         | 31 days    |
| Maximum allowed execution duration | 8 hours    |

## Behavior

This configuration allows the notebook to run approximately once every 31 days, which satisfies both the minimum execution interval of 60 minutes and the maximum execution interval of 31 days. Each execution is limited to 8 hours, including retries, and the system terminates the running job if it exceeds this duration. Cron expressions that schedule executions less frequently than once every 31 days, such as `0 0 1 1 *` are not allowed.

***

Modified at: March 16, 2026

Source: [/cloud/container-services/scheduled-jobs/](https://docs.singlestore.com/cloud/container-services/scheduled-jobs/)

(An index of the documentation is available at /llms.txt)
