Important
Helios features are now enabled during weekly update windows and are no longer directly tied to SingleStore engine releases. Refer to the release notes to view the latest features available in your Helios cluster.
Scheduled Jobs
On this page
A scheduled execution of a notebook is referred to as a “job.
After scheduling, the job service creates a snapshot.
Create and manage scheduled jobs using the Cloud Portal or via the Management API.
Scheduled Jobs using the Cloud Portal
Create a Scheduled Job
Jobs can be scheduled for shared notebooks only.
-
Navigate to Jobs in the left navigation and select Schedule (on the top right).
-
Navigate to Editor > Shared.
-
Select a shared notebook.
-
Select Schedule (on the top right).
-
New Scheduled Job
After selecting Schedule, enter or select the following in Job Settings.
|
Job Settings | |
|---|---|
|
Name |
Enter a name for the job. |
|
Description |
Enter the job description. |
|
Notebook |
Select a shared notebook to run the job. |
|
Cluster |
Select the SingleStore cluster the notebook connects to. Selecting a cluster allows connecting the SingleStore databases referenced in the notebook natively. |
|
Runtime |
Select a runtime from the following:
Note This field is in preview. |
|
Region |
Select a region. |
Select Next.
|
Scheduled Options | |
|---|---|
|
Start Executions After |
Specify the date and time for the first run of the scheduled job.
|
|
Schedule Mode |
Specify the frequency to run a scheduled job.
|
|
Parameters |
Specify the job parameters for the scheduled job.
Note The system injects parameters as Python variables into the notebook while the scheduled job runs, and access them using the variables where required. |
|
Additional Settings |
|
Select Next, review the Summary, and then select Create Job to schedule the job.
Access Control for Scheduled Jobs
Recurring Scheduled Jobs are governed by the Container Services RBAC model.
Scope: Access Control for Scheduled Jobs only applies to recurring jobs.
Who Can Create a Scheduled Job
Creating a recurring Scheduled Job requires an organization-level role that grants the Aura Apps create permission (for example, the Aura Creator role).
When a user creates a recurring Scheduled Job, the system automatically grants that user the Owner role on the new job.
Roles and Permissions
|
Role |
Permissions |
|---|---|
|
Owner |
|
|
User |
|
Visibility
Users can only view the recurring Scheduled Jobs for which they have Owner or User access.
Aura App roles are granted per job by default.
Organization Role Inheritance
The following organization roles automatically inherit full Owner permissions on all recurring Scheduled Jobs in the organization:
-
Organization Owner
-
AI Administrator
Other organization roles (Reader, Writer, Operator, Observer, Billing Administrator, and User Administrator) do not inherit Scheduled Job access.
Refer to Container Services RBAC for more information.
Share Access to a Scheduled Job
Owners can share a recurring Scheduled Job with other users or teams from the job's action menu.
-
Navigate to Jobs in the left navigation.
-
Select the ellipsis (three dots) in the Actions column of the target job.
-
Select Share.
-
Select the user or team, assign the Owner or User role, and select Save.
To remove access, select Remove Access for the user or team.
Guarded Actions
|
Action |
Required Role |
|---|---|
|
View / List |
Owner or User |
|
Edit Job |
Owner |
|
Pause |
Owner |
|
Resume |
Owner |
|
Delete |
Owner |
|
Share / Manage Access |
Owner |
Manage an Existing Job
Note
You can manage a recurring Scheduled Job only if you have the Owner role on it.
To view an existing scheduled jobs and job runs, select Jobs in the left navigation pane.
-
View
-
Edit
-
Pause
-
Resume
-
Delete
View an Existing Job
To view a job, select the job name under the Name column and view the job execution details for each job.
View the details of a job on the Job Details pane in the right navigation.
Edit an Existing Job
To edit an existing job, navigate to the selected job page, select the ellipsis, and select Edit Job.
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.
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.
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.
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-a000-4000-9000-0864fd331524' \ -H 'accept: application/json'
Status of Job Executions
|
Status |
Description |
|---|---|
|
Scheduled |
The next scheduled run for the job. |
|
Completed |
The notebook in this job run ran to completion. |
|
Failed |
The execution failed due to user error. |
|
Error |
An error unrelated to the notebook code prevented this job from completing. |
Troubleshoot Job Runs
SingleStore automatically saves an execution result notebook of an execution that fails.
|
Error |
Solution |
|---|---|
|
Cluster Deleted |
Edit the Job and select a cluster. |
|
Cluster Suspended |
Resume the cluster, or create a new scheduled job with a different cluster. |
|
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 SingleStore Support or use the chat feature in the Cloud Portal. |
|
Notebook Timed Out |
View the snapshot to identify the cells where the notebook is timed out. Refer to Configurability and Key Considerations 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.
To apply updates to a scheduled job, explicitly refresh the notebook snapshot.
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.*/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.0 0 1 1 * are not allowed.
Last modified: