Multiple email readers
Summarize
Summary of Multiple email readers
This feature enables ServiceNow customers to organize POP3/IMAP email accounts into groups, allowing multiple email reader jobs to process these groups concurrently. By default, the email reader job processes email accounts serially, which can slow down inbound email processing when many accounts exist. Grouping email accounts and enabling multiple readers improves processing performance and helps identify problematic accounts.
Show less
Key Features
- Email Account Groups: Email accounts are organized into subsets stored in the Email Account Groups [sysemailaccountgroup] table. Accounts not assigned to a group are processed by the default group.
- Concurrent Processing: Multiple email reader jobs can be configured to process different email account groups simultaneously, reducing overall processing time.
- System Property Activation: The glide.email.inbound.accountgroupprocessing system property must be set to true to activate group processing.
- Processing States: Account groups have states—claimed when being processed by a reader job, and unclaimed when available for processing. Only one job processes a group at a time.
- Monitoring: Processing duration and status of each group are visible in the Email Account Groups table, enabling performance tracking and troubleshooting.
- Scheduling Additional Reader Jobs: New email reader jobs can be created via the Schedule [systrigger] table to further enhance parallel processing.
How to Set Up
- Create Email Account Groups: Define groups containing subsets of your POP3/IMAP email accounts. The system includes a default group for accounts not assigned to any group.
- Enable Group Processing: Set the system property glide.email.inbound.accountgroupprocessing to true to start processing account groups.
- Monitor Processing: Check group processing times and status in the Email Account Groups table to evaluate performance improvements.
- Create Additional Email Reader Jobs: Optionally, create new reader jobs via the Schedule table to process groups concurrently and further reduce processing times.
Benefits for ServiceNow Customers
By leveraging multiple email readers and grouping email accounts, customers can significantly improve inbound email processing efficiency. This approach reduces delays caused by serial processing and helps quickly isolate slow or problematic accounts. Customers gain flexibility to scale processing capacity incrementally by adding groups and reader jobs based on workload, leading to better system performance and responsiveness.
Organize POP3/IMAP email accounts into email account groups (subsets of email accounts) that can be processed by multiple email reader jobs. To improve the performance of inbound email account processing, you can incrementally add email account groups and if needed, email reader jobs to process email account groups concurrently.
How email account group processing works
By default, the email reader job processes POP3/IMAP email accounts serially, which can result in longer processing times when you have many email accounts. It can also be difficult to identify any problematic email accounts that might contribute to slower processing times.
To reduce email account processing time, you can create one or more email account groups that contain subsets of your email accounts. Organizing your email accounts into groups enables the default email reader job to process each email account group separately. After creating one or more email account groups, you can then add another email reader job to process account groups concurrently.
Use the glide.email.inbound.account_group_processing system property to activate email account group processing.
- The system stores the email accounts in the Email Account Groups [sys_email_account_group] table.
- The default email reader job runs every two minutes. The email reader chooses the
account group to be processed based on the account group processing state and the date
and time that the group was last processed.
- Claimed state: If an account group has a claimed state, the email reader is processing the account group. If you defined other email reader jobs, no other email reader job can claim the group for processing.
- Unclaimed state: If an account group is unclaimed, the account group is available for processing by the email reader.
- The email reader job processes the email accounts contained in the selected account group.
- The email reader job chooses the next available account group for processing and continues processing that account group.
After you review the processing times for your email account groups, determine whether to make further adjustments in email account group processing. For example, you can create another email account group or create another email reader job to process your email account groups in parallel. You define additional email reader jobs using the Schedule [sys_trigger] table.
Set up email account group processing
To set up email account group processing, you must have the email_account_admin or admin role.
- 1. Create email account groups.
- Define one or more email account groups that contain a subset of your POP3/IMAP email accounts. Your base system includes a default email account group. Any POP3/IMAP accounts not contained in an email account group are processed as part of the default email account group.
- 2. Enable email account group processing
- Navigate to sys_properties.list and locate the glide.email.inbound.account_group_processing system property. Set the Value to true. The email reader job starts processing the email account groups that you created.
- 3. Monitor email account group processing.
- Check the status of your email account groups to see if processing time has been reduced. Determine whether the additional groups sufficiently reduce account processing time or consider adding another email reader job to further reduce processing time.
- 4. Create an email reader job.
- As part of fine-tuning email account group processing, create an email reader job to process email account groups concurrently, in addition to the default email reader job.