Overview
As of EngageIP 9.3.0 it is possible to bill accounts / packages in parallel rather than sequentially in order to reduce billing time. As well there is also configuration to bill branded owners in parallel (one bill run per branded owner at a time)
Requirements
You will need to have access to the EngageIP database in order to configure parallel billing.
Configuration Options
In the EngageIPOption table, the following entries can be configured:
Option | Setting | Description |
---|---|---|
BillUserPackageMaxDegreeOfParallelism | -1 | "<0" , let the system decide on the amount on threads to use for billing user-packages (default) |
BillLogEveryUserPackage | true | Log every billed user-package and user-service in the Event Log, can set to false for performance reason if needed |
BillSummaryLogBatchSize | 1000 | Logs a summary for every x (1000) user-packages billed per invoicer |
BillRunMaxDegreeOfParallelism | 5 | If it is set with a value of -1, the OS (system) decides on the level of Parallelism |
BillUserMaxDegreeOfParallelism | Configuration.MaxThread | MaxThread is used to configure any existing threading capability, including the number of invoicers to bill in parallel. This option could be used to override that value |
Configuration Steps
Update the EngageIPOption table with the rows and the values needed. Suggested default config: (-1,true,1000,5,Configuration.MaxThread)
Reset IIS and Restart EngageIP Services to enable the new configuration
Set a bill run to execute as per your regular processes
If multiple branded owners have bill runs scheduled at the same time, the system will spool up a billing service per branded owner to manage a single bill run that is scheduled to execute on that branded owner (if multiple enabled bill runs exist on the same owner, it will be sorted by ID smallest first and only run the smallest first and proceed through the list). It will spool up as many billing services as needed up to the maximum setting (5 in the example above). As bill runs complete and more spots open up, it will execute the next bill run for the existing branded owners or others that still need their bill runs executed.
The event log will show something similar to the below, noting that 2 or more bill runs have started and they will each process through their bill run steps as configured: