---
schema_version: "1"
id: 8bd569725f9e46bbf896c939352b04248e05b1167a52fee315b3cf1553cc8d1a
title: Schedule Apex Jobs
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/code_schedule_batch_apex.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.code_schedule_batch_apex.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: ffacbeac4ff0062ae4c4a19359923a621770b3805439d63a5771915f355d22ed
description: Use the Apex scheduler and the Schedulable interface if you have specific Apex classes that you want to run on a regular basis, or to run a batch Apex job using the Salesforce user interface.
products:
  - Salesforce Platform
release: "264"
---
# Schedule Apex Jobs

Use the Apex scheduler and the `Schedulable` interface if you have specific Apex classes that you want to run on a regular basis, or to run a batch Apex job using the Salesforce user interface.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Salesforce Classic (<a href="https://help.salesforce.com/s/articleView?id=xcloud.overview_edition_lex_only.htm&amp;type=5&amp;language=en_US" target="_blank">not available in all orgs</a>) and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <span id="code_schedule_batch_apex__Apex_Code_editions_text"><a name="code_schedule_batch_apex__Apex_Code_editions_text"></a><strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, <strong>Developer</strong>, and <strong>Database.com</strong> Editions</span></td></tr></tbody></table>

The scheduler runs as system—all classes are executed, whether or not the user has permission to execute the class.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_code-264-0-0-production-enus/789bc523-706b-4ae4-8fe9-be6322e38b6b/images/icon_important.png)

Important Salesforce schedules the class for execution at the specified time. Actual execution may be delayed based on service availability.

You can only have 100 active or scheduled jobs concurrently. [Implement the `Schedulable` interface](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm) in an Apex class that instantiates the class you want to run.

1. From Setup, enter Apex Classes in the Quick Find box, select **Apex Classes**, and then click **Schedule Apex**.
2. Specify the name of a class that you want to schedule.
3. Select **Schedule Builder** or **Cron Expression** to schedule an Apex job.
4. If you select **Schedule Builder**:
    1. Specify how often the Apex class is to run.
        
        - For **Weekly**—specify one or more days of the week the job is to run (such as Monday and Wednesday).
        - For **Monthly**—specify either the date the job is to run or the day (such as the second Saturday of every month.)
    2. Specify the start and end dates for the Apex scheduled class. If you specify a single day, the job only runs once.
    3. Specify a preferred start time. The exact time the job starts depends on service availability.
5. If you select **Cron Expression**, specify the time using the cron expression and schedule the class to run at the configured time.
6. Click **Save**.

Alternatively, you can call the `System.scheduleBatch` method to schedule the batch job to run once at a future time. For more details, see “Using the `System.scheduleBatch` Method” in the [Apex Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_batch_interface.htm#apex_batch_scheduleBatch_section).

After you schedule an Apex job, you can reschedule, pause or resume, or delete the job. You can monitor the progress of the job on the **All Scheduled Jobs** page.

After the job has been completed, you can see specifics about the job, such as whether it passed or failed, how long it took to process, the number of records processed on the [Apex Jobs](https://help.salesforce.com/s/articleView?id=platform.code_apex_job.htm&release=264.0.0&type=5 "The Apex Jobs Setup page has information about Apex jobs, including the percentage of async Apex usage and the number of Apex operations that have been used out of the 24-hour org limit. Monitor the status of Apex jobs to mitigate potential limit problems before they happen.") page.