Just noticed in the Salesforce Technical Library: Asynchronous Processing in Force com it says:
Fair Request Handling
Since all of the requests in the peek set are from a single organization (organization 1), those 15 requests will be moved to the back of the queue with a specific delay.
This is called an extended delay.
Then further down in the same article, it says:
Batch Apex
Ensure that the Batch Apex process executes efficiently as possible and minimize the batches submitted at one time. Like @future requests, batch Apex needs to execute as fast as possible. Best practices include:
...
Extended delay is not applicable to batch Apex.
What exactly does this last statement mean?
- Does this mean Salesforce never delays between jobs when you chain batches?
- Does this mean Salesforce never delays between chunks within each job?
- Or does this mean something else?
Surely SFDC wants to penalize 1-chunk batches and encourage the use of Queueables and Futures, but the application of extended delay seems to be back to front here.