AcyMailing
Back to LATEST versionOur siteForumBlog
Version 5
Version 5
  • AcyMailing 5 documentation
  • Main pages
    • Users
      • Export Users
      • Import Users in AcyMailing
      • Mass actions
    • Lists
      • Distribution lists
      • List: Add/Edit
    • Newsletters
      • A/B Testing
      • Spam Test
      • Schedule your Newsletter
      • Smart-Newsletters
      • Campaigns
      • Joomla notifications
      • Simple Sending
      • Templates
        • Import a template
    • Queue
    • Statistics
      • Click statistics
      • Comparison page
      • Statistics charts
    • Configuration
      • Configuration tabs
        • Configure your send process
          • DKIM : DomainKeys Identified Mail
          • External SMTP service
        • Cron task
        • Geolocation
        • Captcha
        • Google Analytics
        • Forward to a friend
        • Access level
      • Custom fields
      • Bounce Handling
      • Unsubscribe page
  • Public part of your site
    • Configure your Subscription Module
    • Latest Newsletters module
    • Newsletter archive section
    • Front-end Newsletter edition
  • FAQ
    • Insert your subscription form in your article
    • Update AcyMailing 5
    • Your send process is slow?
    • Could not instantiate mail function
    • Sending issue
    • Spam issue
    • Compatibility issues
    • Install / Update issues
  • Integration plugins
    • Installed with AcyMailing
      • Insert Joomla articles in your newsletter
      • Plugin : Statistics
      • Plugin: (auto)Subscribe during Joomla registration
      • Plugin: Call to action
      • Plugin: Date - Time
      • GMail Inbox Actions
      • Plugin: Joomla Module Loader
      • Plugin: Joomla User
      • Plugin: Manage Subscription
      • Share your Newsletter on social networks
      • Plugin: Subscriber
      • Plugin: Website Links
      • AcyMailing plugin : table of contents generator
    • User management
      • Plugin: AltaUserPoints
      • Plugin : VirtueMart Checkout Subscription
      • Plugin: CB User
      • Plugin: CJBlog
      • Plugin: com_contact
      • Plugin: Community Builder
      • Plugin: Easy Profile
      • Plugin: EasySocial
      • Plugin: ExtendedReg Profile Information
      • Plugin: Grumpy Contacts
      • Plugin: Ja Job Board
      • Plugin: JomSocial
      • Plugin: JUGA
      • Plugin: K2 Users
      • Plugin: MightyMembership
      • AlphaUserPoints plugin
    • Content management
      • Plugin : AdsManager
      • Plugin: AdsManager (by Heigho)
      • Plugin : Dj-Catalog 2
      • Plugin : Kunena
      • Plugin: AdAgency
      • Plugin: CiviCRM
      • Plugin: Cobalt
      • plugin: Dj-Classifieds
      • plugin: EasyBlog
      • plugin: EasyDiscuss
      • Plugin: Emerald
      • Plugin: EZautos
      • plugin: FLEXIcontent
      • Plugin: Form2Content
      • Plugin: GMapFP
      • plugin: JoomBlog
      • plugin: Joomla! Estate Agency (JEA)
      • plugin: K2 items
      • Plugin: ListBingo
      • plugin: Lyften Bloggie
      • Plugin: MightyResources
      • Plugin: MosetsTree
      • Plugin: Newsfeeds
      • plugin: SEBLOD 3
      • Plugin: Sobi2
      • Plugin: SobiPro
    • Events
      • plugin: !Cagenda
      • Plugin: DPCalendar
      • Plugin: EventList
      • plugin: Event Booking
      • Plugin: jCalPro Events
      • Plugin: jEvents
      • Plugin: Matukio
      • plugin: MijoEvents
      • Plugin: Ohanah
      • Plugin: redEvent
      • Plugin: RsEvents
      • plugin: RSEvents Pro
    • E-commerce
      • Plugin: Awo Affiliate
      • Plugin: HikaShop
      • plugin: JoomShopping
      • plugin: K2Store
      • Plugin: redSHOP
      • Plugin: MijoShop
      • Plugin: VirtueMart Coupons
      • Plugin: VirtueMart
      • AwoCoupon plugin
    • Subscription system
      • Plugin: AEC
      • Plugin : CBSubs
      • Plugin: Membership Pro
      • Plugin: MightyRegistration
      • Plugin: OSE Membership Control Manager
      • Plugin: Payplans
      • Plugin: AkeebaSubs
      • AEC AcyMailing micro-integration
    • Files management
      • Plugin : RokDownloads
      • Plugin: DOCman
      • plugin: DOCman 2
      • Plugin: Document Media Manager
      • Plugin: jDownloads
      • Plugin: Joomdoc
      • Plugin: PhocaDownload
      • Plugin: Remository
    • Other
      • Module: Statistics dashboard
      • module: Quick icon for J1.5
      • Plugin : Module Article
      • plugin: AcyMailing toolbox
      • plugin: Auto-create a list on user registration
      • plugin: Add CC
      • Plugin: Create Joomla user
      • Plugin: Autotweet NG
      • plugin: Edit notification
      • plugin: Export users in mass action
      • plugin: List owner notification
      • Plugin: Modify user group
      • plugin: Quick icon for J2.5 and J3.X
      • plugin: Search
      • Plugin: Smart Search
      • Plugin: Squeeze Page
      • plugin: Stop Smart-Newsletter during weekend
      • Universal tag plugin
      • Universal filter plugin
      • Birthday Newsletter
  • Developers
    • AcyMailing 5 Developer Documentation
    • Customize the way the content inserted in emails by plugins
    • Conditional display
    • Multiple queue system
    • External subscription form
    • Subscription via URL
      • Fabrik Form and AcyMailing
      • ChronoForm and AcyMailing
      • RSForm!Pro and AcyMailing
      • BreezingForms and AcyMailing
Powered by GitBook
On this page
  • Requirements
  • Ready? Let's set it up
  • How many cron jobs should I create?
  • Test the cron jobs you created!
  1. Developers

Multiple queue system

Last updated 5 years ago

Deliver faster than ever with the multiple queue system!

By default, AcyMailing tries to send messages using a single php thread. It loads the first 200 e-mails from the queue and send them... then 15 minutes later (depending on your configuration), AcyMailing will load again the first 200 e-mails from the queue and send them... etc.

You can configure AcyMailing to use multiple php threads so each thread will send 200 e-mails. That way you can increase your sending speed and each batch will still require the same amount of memory and process on your server.

Requirements

Spreading the send process to the maximum you can is one of the best way to make sure your server won't be blacklisted.

We do not recommend this method if you send messages from your own server, please only use it if you use an external delivery service.

This method only works with our automatic send process (included in all our paid versions) and will require you to create your own cron tasks on your server.

Ready? Let's set it up

First, access the AcyMailing configuration page and configure the automatic send process to deliver 200 e-mails every 0 minute.

It's important to set the frequency to "0" but you can adapt the number of messages sent to what you want based on your server constraints.

Then create cron tasks on your own server to trigger AcyMailing every 5 minutes:

You should trigger a different url each time (if needed, you can check ):

http://yourwebsite.com/index.php?option=com_acymailing&ctrl=cron&startqueue=0 http://yourwebsite.com/index.php?option=com_acymailing&ctrl=cron&startqueue=400 http://yourwebsite.com/index.php?option=com_acymailing&ctrl=cron&startqueue=800 http://yourwebsite.com/index.php?option=com_acymailing&ctrl=cron&startqueue=1200 ...

You can see the startqueue parameter is incremented every 400 e-mails. This is done in purpose to make sure no thread will load the same messages from the queue. Don't worry, if it happens Acy will automatically stop one of the two threads but still...

On the Acy configuration page there is an option to enable you to set the queue ordering the way you want... Do NOT select the "random" ordering if you use the multiple queue send process!

How many cron jobs should I create?

That's up to you... and to your server performances.

We recommend you to start with 4 cron jobs maximum and then create additional ones if you want to speed up again the send process (you should make sure your server can handle them).

Don't forget that the cron will trigger your website every 5 minutes so each cron will send 200 e-mails every 5 minutes until your queue is empty. If you have 10 000 subscribers and create 4 cron sending batches of 200 e-mails every 5 minutes, the whole send process will take a bit more than one hour (4*200*12=9600).

If you want to optimize even more the send process, you should trigger each cron at a different minute. For example cron 1 will trigger your website every 5 minutes starting at minute 0 (so at 00:00, 00:05, 00:10, 00:15...) So with the cron frequency : 0,5,10,15,20,25,30,35,40,45,50,55 * * * * * Cron 2 will trigger your website every 5 minutes starting at minute 1 (so at 00:01, 00:06, 00:11, 00:16...) So with the cron frequency : 1,6,11,16,21,26,31,36,41,46,51,56 * * * * * Cron 3 will trigger your website every 5 minutes starting at minute 2 (so at 00:02, 00:07, 00:12, 00:17...) So with the cron frequency : 2,7,12,17,22,27,32,37,42,47,52,57 * * * * * ...

Test the cron jobs you created!

Most important, you should and indeed triggers your website as expected.

our documentation to create a cron on your server
make sure that your cron is working fine