Characteristics of Batch Works on right after the series of action desired to be performed is submitted. Provide feedbacks to user on completion status. Example: 3 records imported, etc etc Submit import formImport user 1Import user 2 Import user 3
Benefits Provide user feed back on the progress. (Usually user take it for granted). Good and smooth user experience. Preventing user errors.
Potential Pitfalls Waiting, Waiting and Waiting. PHP settings (timeout, memory, etc) Database settings (MySQL has gone away) Conclusion: Not suitable for large scale operations.
Current CiviCRM applications Bulk mailing Each mailing is in a queue. Each mailing contains X number of emails and sits in a mailing queue Contact Import ETC
When to use? Batch: Tasks that will exceed php time out Tasks with tolerable time frame (i.e. 5 minutes) Tasks that needs to provide continuous feedback Queue: Tasks that takes a lot of time Tasks that can be stopped and resumed Distribute processing.
Where to use it Exporting contacts Importing process Running large reports CiviMail bulk mailing process Dedupe processes Synchronizing processes Installation/Upgrade