It takes about 10 seconds to complete triggering campaigns which has 1000 emails in default it is processing 100 per batch
mautic:campaigns:trigger
I want to make it faster because in production there will be lots of emails to be triggered so I tried using max-threads=5 and batch-limit=500
But this is not working and taking same amount of time as before
mautic:campaigns:trigger --max-threads=10 --batch-limit=1000
I was able to send 100 emails per second with 27 threads running concurrently however trigger campaign should match sends as that will put emails in queue. I tried using max thread option with trigger, but it’s not working
What do you mean by not working?
How fast you wanna send?
If you want to so fast I think you should look for another software. Its hurting you more then helping.
If you use the campaign action to send email rather then segment email - you will end up in blacklist since Mautic doesnt apply unsub header for campign emails
Thank you very much @joeyk. Very helpful videos to understand Mautic, really good work there.
I am also using queue as per your advice for huge emails and I have cron job for email sending which is working great as I have used multiple threads and email sending from queue is pretty fast.
Now I also need to speed cron job of campaign triggers. But problem is I dont know how to use multi-threading here. Can you give some examples how we can use maxthread argument for cron job of campaign trigger?
Example when I use two commands simultaneously for cron job campaign trigger, the second one gives error as below
I am running Mautic 6.0.0 on docker and using RabbitMQ, I am able to manage 160 email sent out from RabbitMQ using multiple worker thread but my problem is campaign trigger process where i want super fast speed like 85-100 queue per second, because I want to send 3 lacks email in 1 hour.
Can you suggest best approach to achieve this if possible or maximum Mautic limits to create queue?
Thanks for your reply, i am using mandrill, the problem was I have created a custom plug-in which would fetch a placeholder defined by me in email template when preparing the queue the event I used is onEmailGenerate, once I extracted the url from placeholder then I am making a curl request to external api and appending the response back to email template. The external api average response time is 1 sec and this can not be changed, So how can we achieve speed in this scenario. If I remove this external api then i am getting expected speed and it’s seems in control with thread and batch size parameter in campaign trigger command.