Batch Scheduler Command Line
Command-line reference for the server-side batch scheduler.
- BatchProcessTask[Console].exe validates the command line (this requires that the task name is valid, and parameters are specified appropriately for the scope of the task). Valid command lines are sent as a message to the batch scheduler service.
- The batch scheduler service checks against the list of pending tasks for duplicate
messages (duplicates have the same task, group name, tenant UID, and parameter set).
When a duplicate is detected, the original queued task is preserved, and the new command
is not queued, but is saved in the database with the state
Duplicate
. - The batch scheduler service persists the command to the database (protecting against unexpected shut-down, so that the system resumes cleanly after a restart).
- The batch scheduler service adds the command to the pending queue. It reviews this queue (from oldest to latest) regularly, and passes any task that is free of restrictions in a message to the batch processor service.
Synopsis
To allow real-time updates to a high-availability (running) system, BatchProcessTask[Console].exe is invoked by ShadowHostWin.exe to ensure that the process runs in its own application domain. For more information, see Updating a Running System: Shadow Copy.
-g groupName (applicable only to very large, multi-compliance-database implementations)
-p
-t tenantUID (applicable only to multi-tenant implementations, for managed service providers)
The leading set of options have limited applicability, and are uncommon for on-premises implementations:
Type | Value | Description |
---|---|---|
-g |
groupName |
Not relevant to, and must not be used with, on-premises installations. For
multi-database implementations, this means to run the task for all tenants in the
specified group.
Note: With this option, a tenant UID must not be specified in the
command line.
Groups apply only to very large implementations where the compliance data is split over multiple databases. The group identifies which database contains data records for the set of tenants. For on-premises implementations, this option must be omitted. |
-p |
Pass properties to the batch processor that customize its behavior for certain tasks.
These properties are not passed through as arguments to any executable that the batch
processor may call in a sub-process. (For that purpose, use the Example: To modify
InventoryImportReaders to also run the database
writers for a specific connection, add this property: -p
"ChainWritersMessage=true" . The complete command (entered on a single line)
in this example
becomes:
|
|
-t |
TenantUniqueID
|
In a multi-tenant environment, runs the task only for the tenant specified by the
unique identifier. (This alphanumeric code is viewable in the Flexera license details, and in the
Tenant table
in the database.) Note: If a task is scoped to a tenant, and the
-t
option is omitted on the command line,
BatchProcessTaskConsole.exe queues a separate message for every
tenant in the database. These messages are then prioritized and processed as usual by
the batch scheduler service.For single-tenant on-premises implementations, this option should be omitted, and has no effect. |
Tasks and Task Arguments
- Specifies who is affected by an instance of the task (for example,
ActiveDirectoryImport
, which has a scope of Tenant, imports the AD information for a single tenant). System tasks are global, and must not have either a group name or a tenant ID specified. For an on-premises implementation, Group scope is equivalent to System scope. - Maps to the options described above, so that, for example, in a multi-tenant
implementation for a managed service provider,
ActiveDirectoryImport
requires that the-t TenantUID
option is specified to the batch scheduler service (if omitted at the command line, BatchProcessTaskConsole.exe queues a separate message for every tenant in the database). - Describes the level of isolation for each task. For example, the
ActiveDirectoryImport
task cannot be run in parallel (that is, only one instance may run at a time) within its scope of a single tenant. However, in a multi-tenant environment, separate tenants may be running this task at the same time, as long as for each tenant exactly one instance of the task is running. (For more details about restrictions and constraints about what cannot be run in parallel, see Batch Processing Constraints.)
The task arguments are not required for standard operation. The batch processor service adds a standard set of arguments for each task (in the table, shown with the "Underlying executable" entry). If you are customizing behavior, you may add additional task arguments, which are appended to the standard set (you cannot override the standard arguments). If you are adding task arguments, each set must be preceded by two dashes ('minus minus'), which indicates that the argument(s) are to be passed through directly to the executable invoked when processing the task. The set of arguments must then be enclosed in double quotation marks if they contain any white space.
Task | Scope | Notes |
---|---|---|
ActiveDirectoryImport
|
Tenant |
Import sites, subnets, computers, groups, and users from Active Directory. There
should be no need to trigger this task manually, nor to schedule it separately, as
the appropriate message is queued by Tip: When Active Directory data is uploaded from an inventory beacon, a Microsoft scheduled task triggers its import into the
inventory database (this task by default runs every 10 minutes). At the successful
completion of this import, a message is queued for the batch scheduler to schedule
ActiveDirectoryImport for the connection to the inventory
database. The bottom line is that Active Directory data is available in the
web interface of FlexNet Manager Suite as quickly as possible
after it is scheduled for collection on any inventory beacon.Underlying executable:
|
ActivityLogHistoryDelete |
Tenant |
Clean up any records in the system activity log that are older than (by default) 90 days. Underlying executable: SQL stored procedure. |
ARLCleanup
|
System |
This task cleans up previously-downloaded library files (both
.cab files and extracted files) from the disk caching area.
Despite the name, it cleans up all downloaded libraries.
Tip: It is not
necessary to schedule or execute this task. In normal operations, the batch
scheduler automatically schedules a cleanup before starting a new libraries
download. If you run this as a task using
BatchProcessTask[Console].exe , the clean-up is queued and run
safely. If you choose to run this manually with the command line below, take
particular care that you do not do so while ARLDownload or
ARLImport are in progress.Underlying executable:
|
ARLDownload
|
System |
Downloads the latest version of the Application Recognition Library and related libraries,
saving the contents on the batch server for later import (using the
separate Because this task downloads all licensed ARL, PURL, and SKU libraries, a
failure of any of the downloads means that the subsequent
ARLImport will not run.Tip: If you
are managing your own scheduling, you do not need to separately schedule the prior
ARLCleanup or following ARLImport tasks. The batch scheduler
automatically queues these tasks around each download. (Be advised that the
executable command line shown below does not do the prior clean-up and the
following import — these are linked only through the
BatchProcessTask[Console].exe tasks.) Note: In a
multi-tenant environment for managed service providers, the Application Recognition Library is downloaded once to a shared location, and is then available for import to
the system for each tenant. Similarly, the SKU and PURL libraries are downloaded
once, and the logical-AND of all tenant entitlements is loaded into the database.
Access by individual tenants is then managed by their license terms.
Default schedule: Daily at 1am local time. Underlying executable:
Tip: It is important that you use the batch scheduler to run the library
downloads and imports. Other imports run at unpredictable times: inventory
imports, business imports, and data exchange with FlexNet Manager for Engineering Applications and
FlexNet Manager for SAP Applications are all run on demand as data is uploaded by
inventory beacons. As well, some imports may be requested by
operators using the web interface. If you use the batch scheduler to
download the libraries, the batch scheduler will gracefully pause these competing
tasks, or wait for their completion, before pushing through the content update,
and then resume processing other tasks afterward. In contrast, if you do
not use the batch scheduler and run the process directly from the
MgsImportRecognition.exe command line, the database locking
required for the library updates may mean that either the library update itself,
or a competing task, will fail. |
ARLImport
|
Group |
Import the last downloaded Application Recognition Library, SKU library, EOSL data, and the
individual PURL libraries (downloaded as authorized by your license terms), all
currently saved on the local disk (see
ARLDownload for file
locations). Tip: For normal operations, do not schedule (or execute)
this task. In normal operations, the batch scheduler automatically schedules this
task after the download of the ARL and other libraries is completed.
Underlying executable:
|
BaselineImportProcessing |
Tenant |
Used for processing imports of Microsoft Licensing Statements (MLS). Not available for external use. Underlying executable: SQL stored procedure. |
BusinessAdapterConfig |
Tenant |
Updates the data model (FNMPDataModel.ini), the DDI files, and
the CSV templates used by the Business Importer (and therefore the Business Adapter Studio). The updated content is downloaded to the inventory beacons the next time they request an update (by default, every
15 minutes, and configurable through , in the Beacon settings section). This update
is particularly valuable for keeping the Business Importer up to date with
changes to custom properties. For more information, including details of the
standard data model and CSV templates, see Using FlexNet Business Adapters. In a multi-tenant implementation, this may be run for a single tenant
(with the tenant UID specified), or may be run without the Default schedule: Daily at 4am local time. Also triggered when a new tenant license is imported (in a multi-tenant implementation). Underlying executable: SQL stored procedure. |
BusinessAdapterImport
|
Tenant |
Imports any packages uploaded by the Business Importer to the central
application server, saving the data in the compliance database
ready for the next calculation of license consumption (which must be triggered
separately).
Note: Although the scope of this task is per tenant (the data for only
one tenant is imported at a time), the task can only run one-at-a-time within a
group, as logging is shared for all tenants in a group.
Underlying executable: |
CognosTenantSync |
System | Internal use only. Not available in multi-tenant systems for managed service providers (MSPs). Not invoked in single-tenant on-premises implementations. |
DataWarehouseUpdate |
Tenant |
Update the data warehouse with the latest information (to allow for trend reporting and the like). Default schedule: Weekly on Sunday at 6am. Underlying executable:
|
DataWarehouseUpdateRights
|
Tenant |
Copy the tenant list, and update the access rights to the data warehouse. Default schedule: triggered when a new tenant license is imported. Underlying executable:
|
EnterpriseGroupImport
|
Tenant |
Used for imports through the web interface. Not available for external use. Underlying executable: SQL stored procedure. |
EntitlementRecommendations
|
Tenant |
A task triggered through the web interface. Not available for external use. Underlying executable:
|
FNMEAEnterpriseGroupExport
|
Tenant |
Transferring current enterprise group structure for use in FlexNet Manager for Engineering Applications. Not available for external use. Underlying executable: SQL stored procedure. |
FNMPDataMaintenance |
Tenant |
Internal database maintenance. Not available for external use. Underlying executable: SQL stored procedure. |
FNMPSoftwareUsageHistoryUpdate |
Tenant |
Internally, takes a snapshot of all licenses to improve reporting performance. Not available for external use. Underlying executable: SQL stored procedure. |
FNMSDashboardUpdate |
Tenant | Calls ComplianceReader.exe with command line
|
FNMSPrecalcUpdate |
Runs Maintenance.exe to update pre-calculated data used
to improve UI performance. Example command line
|
|
GenerateOracleLMSArchive |
Tenant | Directly calls a function in an assembly to generate the evidence file. No underlying executable. |
IBMPassportAdvantage
|
Tenant |
Used for import of IBM Passport Advantage reports through the web interface. Not available for external use. Underlying executable: SQL stored procedure. |
IMDataMaintenance
|
Group |
Executes a database stored procedure for data maintenance within the FlexNet inventory database across all the tenants in the group. Underlying executable: SQL stored procedure. |
IMImport
|
Tenant |
Runs the inventory import for FlexNet inventory (collected either by the FlexNet inventory agent locally installed on the inventory device, or by the FlexNet inventory core components operating from an inventory beacon to take
zero-footprint inventory). The data is taken from the inventory database (regarded
now as a data source), and copied into the staging tables within the compliance database by the inventory reader. It then queues a
This task is intended for tenants in the cloud-based implementation. For these tenants, any third-party inventory is collected by disconnected inventory beacons (those not installed on the central application servers), and immediately uploaded, and imported on demand. For such tenants, only the FlexNet inventory remains to be imported prior to queueing the writers. Underlying executable: |
IMTenantDataMaintenance |
Tenant |
Invoked in either:
Underlying executable: SQL stored procedure. |
IMTenantObsoleteInventoryMaintenance |
Tenant | Executes a stored procedure in the ObsoleteInventoryDeleteStalePerTenant inventory database. This triggers a cleanup period, invoked by the CleanupObsoleteInventoryDuration setting in the ComplianceTenantSetting table of the FNMSCompliance database. |
InventoryImport
|
Tenant | This task is a single invocation for a complex of inventory import and
license consumption calculations, in a single convenience command for on-premises
implementations only. With the first form of task arguments shown, inventory from
all available connections is imported and processed. Export to the data warehouse is
specifically excluded. You can also restrict this command to a single inventory
source with the
will
restrict processing to the default connection for inventory gathered by the FlexNet inventory agent and saved in the internal inventory database.-s task argument, followed by the connection name.
For example, adding
Tip: The
'triple-dash' format shown above is a special case for task arguments that are
passed through unaltered to the underlying executable (in this case,
ComplianceReader.exe ). This task is intended for use on-premises, where it is possible that there are third-party inventory connections on an inventory beacon co-installed on the batch server. For these connections, there is no intermediate staging file, and no import on demand (as there is for connections exercised on disconnected inventory beacons). For this reason, all locally-available connections are imported before also importing FlexNet inventory, and queueing the writers. Default schedule: Daily at 2am local time. Underlying executable:
|
InventoryImportNoStats
|
Tenant |
This task is queued when an operator (in the Administrator role) selects the Update inventory check box and clicks the Reconcile button in the web interface. The name arises because this process, for speed, skips updating database statistics. Underlying executable:
|
InventoryImportReaders |
Tenant |
By default, runs the import from all data connections (and all pending data packages) specified for the tenant into the staging tables within the compliance database. For inventory collected by FlexNet inventory agent, the data that has been uploaded into the internal inventory database is imported (that is, the inventory database is treated as another connection). If this task is invoked with the following
property:
and completes successfully, an Default schedule: None (instead, for scheduled imports, see
Underlying executable:
|
InventoryImportSpreadsheet |
Tenant |
Queued when an operator performs a one-off inventory spreadsheet upload through the web interface. Not available for external use. |
InventoryImportWriters |
Tenant |
Takes the data currently available in the staging tables within the compliance database, de-duplicates records as necessary, writes the results into the main data tables of the compliance database, and calculates the resulting license consumption. Default schedule: None (instead, see Underlying executable:
|
LicenseReconcile
|
Tenant |
Runs only the license consumption calculations of the compliance writers (that is, does not include writing the last data from the staging tables into the compliance database). Underlying executable:
|
OracleGlasEvidenceFileGeneration |
Tenant | Directly calls a function in an assembly to generate the GLAS evidence file. No underlying executable. |
POLineImport
|
Tenant |
Queued when purchases are imported through the web interface. Not available for external use. Underlying executable: SQL stored procedure. |
SAPInventoryImport
|
Tenant | Import inventory from FlexNet Manager for SAP Applications. Default schedule: Daily at 10pm batch server time. Underlying executable:
|
SAPLicensePositionCalculation |
Tenant | Runs SAPReconciliation.exe. Example command line
Where
-u is a unique session GUID and -t is
a TenantUID (if applicable, or left out if running in a single tenant DB). |
SAPPackageLicenseImport
|
Tenant |
Import the licenses calculated by SAP, writing results into the compliance database. Default schedule: Weekly on Sundays at 6am. Underlying executable:
|
SAPTransactionProfileImport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
SAPUserAndActivityImport |
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
SAPUserConsumptionImport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
SAPUserImport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
SAPUserRecommendationsExport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
SAPUserRoleImport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
ServiceNowExport
|
Tenant |
Export data to ServiceNow, based on the integration set up between ServiceNow and FlexNet Manager Suite. May also be trigger by operator activity in the web interface. Default schedule: Weekly on Sundays at 3am. Underlying executable: |
UserAssignmentImport
|
Tenant |
Internal use. Not available for external use. Underlying executable: SQL stored procedure. |
FlexNet Manager Suite (On-Premises)
2023 R1