Step 12: Schedule backend jobs
Learn how to schedule a backend job.
Last updated
Learn how to schedule a backend job.
Last updated
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:
Click Setup and select Developer Console from the dropdown list. The Developer window appears.
Click Debug and select Open Execute Anonymous Window. The Enter Apex Code dialog appears.
Copy the script from the first row of the table under Batch Job Scripts and run it in the Developer console Anonymous window.
Repeat Step 3 for every script in the batch job scripts table.
The following table lists the jobs that you need to schedule and the apex code that you can run to set up the jobs. (Replace <<STOREFRONT_NAME>>
with your own storefront name).
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.
DR Batch Subscription Processor Job
System.schedule('DR Batch Subscription Processor Job', '0 0 * * * ?', new digitalriverv2.DRB2B_Schedule_BatchSubscriptionProcess('<<STOREFRONT_NAME>>', 'RECURR_INSTALL'));
Schedule this job to run at least once every day.
DR Recurring Payment Processor Job
Schedule System.schedule('DR Recurring Payment Processor Job', '0 0 * * * ?', new digitalriverv2.DRB2B_Schedule_RecurringPaymentProcess('RECURR_INSTALL'));
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.