The Microsoft Dynamics 365 Asynchronous Processing Service (called the async service) executes long-running operations independent of the main Microsoft Dynamics 365 (online & on-premises) core operation. This results in improved overall system performance and improved scalability.
How does it work?
The asynchronous service features a managed queue for the execution of asynchronous plug-ins, workflows, and long-running operations such as bulk mail, bulk import, and campaign activity propagation. These operations are registered with the asynchronous service and are executed periodically when the service processes its queue. Since these operations are queued up and must be executed in time globally, there are some well-defined resource quotas that enable resources to be distributed amongst all online customers equally.
In Microsoft Dynamics 365 online environment, there are certain quota settings applied for every organization, which are mentioned in the list below.
Settings
- AsyncMaxExceptionCountInTimeUnit
- OrgMaxAsyncThroughput
- OrgMaxThreadCount
- AsyncMaxExceptionCounterTimeUnitInMinutes
- AsyncThroughputCapResetTimeIntervalInMinute
Some important points to note here:
- These quotas are applied to a priority queue (plug-ins, SLA operations) and a regular queue (workflow, rollup, bulk delete, import, etc.) only and don’t apply to email jobs.
- Since plug-ins and workflows are executed in different queues, each has an independent quota within each organization.
- The values for these quota settings will differ between customer organizations. These settings are to be adjusted by Microsoft as per the performance needs of the platform, and are not configurable by customers.
- These settings are for Microsoft Dynamics 365 Asynchronous Processing Service and not Microsoft Dynamics 365 Asynchronous Processing Service (maintenance), which is for system maintenance like executing the deletion and re-indexing services.

