Vinod Sebastian – B.Tech, M.Com, PGCBM, PGCPM, PGDBIO

Hi I'm a Web Architect by Profession and an Artist by nature. I love empowering People, aligning to Processes and delivering Projects.

Advertisements




Salesforce Scheduled Apex

Introduction

Salesforce Scheduled Apex allows developers to schedule Apex classes to run at specific times. This feature is useful for automating repetitive tasks or processes in Salesforce.

Syntax

To schedule an Apex class in Salesforce, you need to use the following syntax:

@isTest
public class MyScheduledApexClass implements Schedulable {
    public void execute(SchedulableContext sc) {
        // Add your apex logic here
    }
}

Salesforce Scheduled Apex Example

Here is an example of how to schedule an Apex class in Salesforce:

global class MyScheduledApexClass implements Schedulable {
    global void execute(SchedulableContext sc) {
        // Add your apex logic here
    }
}

MyScheduledApexClass myScheduledClass = new MyScheduledApexClass();
String sch = '0 0 0 15 3 ?'; // Executes at midnight on March 15th
System.schedule('My Scheduled Job', sch, myScheduledClass);

Test Classes for Above Example

It is important to write test classes to ensure that your scheduled Apex class behaves as expected. Here is an example of a test class for the above scheduled Apex example:

@isTest
private class MyScheduledApexClassTest {
    @isTest static void testSchedule() {
        Test.startTest();
        String jobId = System.schedule('My Scheduled Job',
                                       '0 0 0 15 3 ?',
                                       new MyScheduledApexClass());
        Test.stopTest();
        // Add assertions here
    }
}

Purpose

The purpose of Salesforce Scheduled Apex is to automate processes and tasks that need to run at specific times without manual intervention. This can help improve efficiency and reduce manual errors in Salesforce orgs.

Considerations

When using Salesforce Scheduled Apex, there are some important considerations to keep in mind:

  • Ensure that your scheduled jobs do not exceed the daily limits set by Salesforce.
  • Handle any exceptions or errors in your scheduled Apex classes to prevent job failures.
  • Avoid long-running processes in scheduled Apex to prevent hitting governor limits.
  • Test your scheduled Apex classes thoroughly to ensure they work as expected.