--exclude-campaign-id for mautic:campaigns:trigger

Add “–exclude-campaign-id” argument (ideally that can accept multiple IDs) to mautic:campaigns:trigger for better batch/throttle control when sending emails.

We have several campaigns, some of which require immediate email sending (e.g., a double opt-in mailing list campaign), and others that send bulk emails, which we want to throttle to just a few per day.

Mautic has a feature to limit the entire system to only X emails per day, but if we do that, it could delay double-opt-in emails from being sent for an entire day if the limit is reached. Using “mautic:campaigns:trigger --campign-limit=X” has a similar problem, it applies to all campaigns without fine grained control. We could add a separate CRON command for every single campaign, but that is extremely cumbersome to manage.

If we could simply exclude individual campaigns instead, then we can actually have fine-grained control that is easy to manage, for example:

#Default campaign trigger for all campaigns, no limits and triggers every few minutes, excludes large campaigns:
php /var/www/html/mautic/bin/console mautic:campaigns:trigger --exclude-campaign-id=

#Large campaigns, run every hour/day, limit to just X per hour to better spread out the emails, without affecting other campaigns that can’t be throttled.
php /var/www/html/mautic/bin/console mautic:campaigns:trigger --campaign-id= --campaign-limit=100

why not use –batch-limit nnn --campaign-id n ?