https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_batch_interface.htm[There is a limit] to the number of batch jobs which can be executed at the same time. Executing batch jobs in triggers or in loops is complex as it can easily reach this limit (example: after a bulk update), thus it is recommended to avoid it. Note that checking if the limit is already reached is not enough as nothing prevents the addition of a job between the check and the subsequent call to ``++executeBatch++``.
=== on 9 Oct 2019, 17:27:58 Nicolas Harraudeau wrote:
*Out of Scope:* ``++System.scheduleBatch++`` may also reach the limit of batch jobs, but it is not possible to schedule two jobs with the same name. Thus it would be necessary to check if many jobs are scheduled or if the trigger only tries to schedule a job when it isn't already scheduled.