Step 12: Schedule backend jobs

Learn how to schedule a backend job.

For the Salesforce B2B Commerce App to continuously synchronize data between Salesforce and Digital River, you need to schedule backend batch jobs. To schedule the backend jobs:

  1. Copy the script from the first row of the table under Batch Job Scripts and run it in the Developer console Anonymous window.

  2. Repeat Step 3 for every script in the batch job scripts table.

Batch job scripts

The following table lists the jobs that you need to schedule and the apex code that you can run to set up the jobs. You can also find these settings on the Schedule Jobs tab in the DR CC Config Settings spreadsheet.

Batch Job Name

Script to Schedule Batch Job

Comments

Order Fulfillment Job

// To run every 5 minutes for(Integer i=0; i<60; i=i+5) {

String cronTrigger = '0 ' + i + ' * * * ?';

System.schedule('Order Fulfillment Job: ' + i, cronTrigger, new digitalriverv2.DRB2B_ScheduleOrderLevel_Fulfillment()); }

This job sends Order Level Fulfillment Information to Digital River. Currently, this is used only for order cancellations.

Line Item Fulfillment Job

// Run Every 5 minutes

for(Integer i=0; i<60; i=i+5){ String cronTrigger = '0 ' + i + ' * * * ?'; System.schedule('Line Item Fulfillment Job: ' + i, cronTrigger, new digitalriverv2.DRB2B_ScheduleLineItem_Fulfillment());

}

This job sends line-item level fulfillment Information to Digital River.

CC Subscription Installment Processor Job

Database.executeBatch(new ccrz.cc_batch_SubscriptionProcessor('DefaultStore', ccrz.cc_hk_Subscriptions.PARAM_CONTEXT_RECURR_INSTALL_ONLY, false));

Schedule this job to run at least once every day.

DR Subscription Processor Job

//Schedule DR Subscription Processor Job every hour System.schedule('DR Subscription Processor Job, '0 0 * * * ?', new digitalriverv2.DRB2B_InstallmentSubscriptionProcessor());

This job currently processes only 1 record at a time. Please schedule this more often in a day based on the number of installments that need to be processed.

DCM Application Logs Cleanup Job

// Run once a day. You can configure this to run more often in lower environments where Logging Level might be set to DEBUG System.schedule('DCM Application Log Cleanup Job, '0 0 0 ? * * *', new digitalriverv2.DCM_ApplicationLogCleanupJob());

This job cleans up the DCM Application logs based on the configuration “Delete Logs older than” in the Custom Metadata type digitalriverv2__DCM_Application_Log_Configuration__mdt.

Last updated