Advanced Settings

The advanced settings page contains settings that could drastically impact how Distribution Engine runs. Please proceed with caution.

Processing Mode

In some cases you may want to adjust the processing mode used by Distribution Engine - typically this would be because your Salesforce org is having issues or you have added a large number of records to process.

Distribution Engine can use different types of Salesforce jobs to monitor sources and process the records within them. The processing mode options are detailed at the bottom of this page.

 

Scheduler Frequency

The scheduler frequency determines how often Distribution Engine will run and attempt to distribute records. The available options will be limited by the processing mode chosen.

  • "As fast as possible" mode will run approximately every minute (depending on org performance).

Health Checker

The health checker is a scheduled job running parallel to the main Distribution Engine scheduler. It monitors the other Distribution Engine jobs, like the scheduler that performs assignments or the classifier, and can restart them in the event that any issues are found or notify when errors have occurred.

  • Health Checker Frequency - By default the Health Checker runs at the top of each hour. This frequency can be increased to every 15 or 30 minutes. Note that a scheduled job is required for each interval, ie every 15 minutes requires 4 scheduled jobs. 

Processing Mode Options

Queueable (Default) - The scheduler runs approximately every minute (the frequency can't be changed, it's controlled by Salesforce). The scheduler spawns a queueable job to perform the Distribution Engine processing. This is the recommended mechanism.

  • Advantages: Runs frequently, meaning records don't wait long before being assigned. Keeps a history of each run (useful for troubleshooting failure reasons). 
  • Disadvantages: Can't set a slower frequency. For orgs that have a lot of other asynchronous jobs, the number of queueable jobs this creates a day could put you close to Salesforce's limit. 

 

Automatic - This mode will run as Queueable unless a large number of records are available to assign. At that point, it will switch to Batch Processing and process all waiting records. During both processing modes, Distribution Engine will continue to run as fast as possible and will not switch to running hourly as normally happens when running in batch mode.

  • Advantages: Larger volumes of records can be assigned without manual intervention of switching modes. Higher governor limits (can do more processing in a single run). 
  • Disadvantages: Can't set a slower frequency. For orgs that have a lot of other asynchronous jobs, the number of queueable jobs this creates a day could put you close to Salesforce's limit. 

 

Parallel Mode - Separates the processing of records into two separate processes, one to determine the assignee and one to update the records. The updating process can be run in a number of parallel jobs, reducing run times in some cases. This mode uses Queueable jobs to assign and distribute the records.

  • Advantages:  Assigns faster in complex configurations such as when using processes that are triggered by record updates.
  • Disadvantages: Utilizes more asynchronous jobs than other processing methods, potentially hitting Salesforce daily limits.

 

Asynchronous - The scheduler runs periodically according to the frequency you define. The scheduler spawns a future method to perform the Distribution Engine processing.

  • Advantages: Can control the frequency of jobs based on your scenario. Keeps a history of each run (useful for troubleshooting failure reasons). 
  • Disadvantages: For orgs using future methods heavily, the Distribution Engine jobs will be queued along with other future methods which could cause delays.

 

Synchronous - A single Salesforce scheduled job runs periodically according to the frequency you define. The Distribution processing takes place within the context of this scheduled job.

  • Advantages: Generally runs quickly - no delays where future methods are queued for processing.
  • Disadvantages: If a job fails, it does not maintain a history of the failure reason. Lower governor limits compared to other modes, meaning fewer records can be processed each run.

 

Batch Mode - Batch Jobs process batches of records at the same time to allow for long running processes and assignment of large volumes of records. This mode will help in scenarios where a large number of records are added to the system and need to be assigned.

  • Advantages: Standard processing modes have a default limit of 500 records per run, there is no limit for Batch mode.
  • Disadvantages: Batch mode will initially be limited to running hourly to avoid overloading orgs which already use batch jobs heavily. 

 

Which processing mode should I use?

By default the Distribution Engine schedule job runs in Queueable mode. This provides the fastest processing and uses the higher Salesforce Governors limits. 

If Salesforce is having sustained performance issues and your records are not being assigned, then Asynchronous mode is a good fall-back option to ensure runs take place every 10 minutes.

 

How did we do?

Calendar Integration

Distribution Engine Running User

Contact