The FNMSPreCalcUpdate process updates many FlexNet Manager Suite web UI views (like the All Inventory, All Assets, or All Users views) when changes are made. To use fewer resources, the FNMSPreCalcUpdate process precalculates data rather than updating it on demand. When data in one of the associated tables changes, the update operation also updates the precalculated tables displaying various web UI views.
Using the All Inventory view as an example, when you make a change, FlexNet Manager Suite doesn't refer directly to the compliance database's main table that contains the inventory device information, the ComplianceComputer table. Instead, the Grid_ComputersListModel table (the view that displays the All Inventory of the web UI) refers to the Grid_ComputersListModel_PC table, which is the precalculated view.
Precalculated views are also seen elsewhere in FlexNet Manager Suite. Each row in the image below that ends in PC_MT is an example of a precalculated view. The precalculated tables update regularly and automatically as data in the supporting tables changes.
Issues with the FNMSPreCalcUpdate process can cause the web UI views in FlexNet Manager Suite not to update when changes are made. An example of a potential issue with FNMSPreCalcUpdate would be if you modify a device's Inventory Device Properties, but the change isn't reflected in the All Inventory view.
If FlexNet Manager Suite's web UI views take unusually long to update, follow the steps below to troubleshoot.
As an example, the query below would gather the last ten occurrences of the FNMSPreCalcUpdate task for the ComputersListModel_PC table that displays the All Inventory view:
SELECT TOP 10 * FROM BatchProcessExecution WHERE BatchProcessTypeID = 40 AND RawMessage LIKE '%Grid_ComputersListModel_PC%' ORDER BY Submitted DESC
NOTE: BatchProcessTypeID 40 is the identifier for FNMSPreCalcUpdate tasks. The RawMessage establishes the views that are updated via FNMSPreCalcUpdate tasks.
Check the following items:
Batch Process Execution ID |
GUID |
Batch Process Type ID |
Submitted |
Operator Login |
Beacon ID |
Batch Processor Hostname |
Batch Process Status ID |
11141 |
13BADA09-6DA1-4131-BBE8-A4BAFD3 DDD5C |
40 |
51:05.9 |
x |
NULL |
y |
3 |
Start Time |
Finish Time |
Progress |
Return Code |
Output |
Group Name |
Tenant UID |
Raw Message |
a |
b |
100 |
0 |
NULL |
NULL |
NULL |
{"TenantUID":null,"HasTenantUID" :false,"GroupName":null, "HasGroupName" :false, "TaskID": "13bada09-6da1-4131-bbe8-a4bafd3ddd5c", "TaskTypeID":40," OperatorLogin":"x", "Progress":100, "SubmitTime": "2020-07-06T05:51:05.9000397+01:00", "StartTime" :null, "FinishTime":null, "Properties":{"Arguments":"sync --targets Grid_ComputersListModel_PC"}} |
Review the following logs to identify any errors in scheduling or running the FNMSPreCalcUpdate process.
Although most FlexNet Manager Suite tasks run on a schedule using Microsoft Message Queuing (MSMQ), FNMSPreCalcUpdate doesn't. It's scheduled based on an observer in the .NET backend, which checks for any significant updates of data, views, and grids in the FlexNet Manager Suite web UI.
Since FNMSPreCalcUpdate runs whenever there are relevant updates, it's common to see this task run every few minutes and records written to the BatchProcessExecution table multiple times daily.
You can, however, manually run FNMSPreCalcUpdate using the following two commands in an administrator command prompt on the application/batch server if you'd like to initiate the process.
CD <Instal Dir>:\Program Files (x86)\Flexera Software\FlexNet Manager Platform\DotNet\bin
BatchProcessTaskConsole.exe run FNMSPrecalcUpdate
on
Jul 13, 2020
10:20 AM
- edited on
Apr 27, 2023
10:37 AM
by
HollyM
Here's a query for all these target type processes with a clear taget column:
SELECT TOP 100
*
,REVERSE(SUBSTRING(REVERSE(RawMessage),4,CHARINDEX('stegrat',REVERSE(RawMessage))-5)) Target
FROM BatchProcessExecution
WHERE BatchProcessTypeID = 40 AND RawMessage LIKE '%-targets%'
ORDER BY Submitted DESC
@mfranz , I am facing this issue in my environment where FNMSPrecalcupdate and FNMSDashboardUpdate are return exitcode as -1 instead of 0. What can we do to resolve this issue? Ours is an On-Premise environment.
@srikanth_m, I guess you should open a support case.