Separating Readers and Writers
- Compliance "readers" collect data that has been uploaded to the central application server, and write it into staging tables within the operations databases.
- Compliance "writers" take the data from the staging tables, normalizing it where required, and write the results into the operational tables in the compliance database. They perform recognition of newly-inventoried evidence against the ARL, and evaluate any pending automated purchase processing. Thereafter they recalculate license consumption (or 'reconciliation'), using the most recently updated data.
It is possible to run the compliance readers and writers in tandem, such that every 'read' is promptly followed by an immediate 'write' and reconciliation. However, the write and recalculate processes can be resource intensive, slowing performance for other tasks. Keeping in mind that inventory data may be incoming from multiple different sources (FlexNet inventory agent, third-party inventory tools, Active Directory, business imports, and so on), allowing a write and recalculate after every single data load may become problematic.
For this reason, the batch scheduler allows for triggering compliance readers and writers separately, completely independent of one another.
In its default operation, the batch scheduler handles this sequencing automatically.
- This command imports inventory from the single default connection for inventory
collected by FlexNet inventory agent, and immediately runs the writers (transferring data
into the compliance database) and then running the license consumption
calculations:
ShadowHost.exe BatchProcessTaskConsole.exe run InventoryImport ---s """FlexNet Manager Suite"""
- This command loads the same inventory to the staging tables, but does not include
the writing to the compliance database nor the license consumption
calculations:
You may then choose to run a number of other imports (readers) from other inventory connections, and only later run the writers and recalculation (seeShadowHost.exe BatchProcessTaskConsole.exe run InventoryImportReaders ---s """FlexNet Manager Suite"""
InventoryImportWriters
).
ChainWritersMessage
parameter to the readers command. For example, this
command (executed by Microsoft Task Scheduler, and therefore no longer using the console
version of the executable) runs all inventory imports (because it no longer has the
restriction to the default connection), one after another as appropriate; and only when all
are completed does it schedule the writers and
recalculation:ShadowHost.exe
BatchProcessTask.exe run InventoryImportReaders -p "ChainWritersMessage=true"
FlexNet Manager Suite (On-Premises)
2023 R1