Zoomed Image

Scheduling and Monitoring

Software Asset Management Guide
Operations

Scheduling and Monitoring

The Calculate Licensing Position transformation should run on a schedule. This page covers what to schedule, when, and how to monitor it.

What to Schedule

A standard SAM schedule:

Job Frequency Time Window
Network Discovery Nightly Off-peak (e.g., 02:00)
Load Now (recognition + load) After discovery 03:00
Calculate Licensing Position After Load Now 04:00
Recognition Database Update Weekly Sunday 01:00
Create OEM Licenses Weekly Sunday 03:00

The order matters: Calculate runs after Load Now, which runs after Discovery. If Calculate runs before fresh discovery is loaded, the position reflects yesterday's state.

Setting Up the Schedule

In xAssets, scheduled jobs use the standard batch job mechanism:

  1. Navigate to Admin → Batch Jobs → Schedules.
  2. Create a new schedule for each transformation, with the time window you want.
  3. Set the Calculate Licensing Position with appropriate Start Date and End Date — typically the start of the current month and today, with the parameters parameterized to recompute dynamically each night.

For the parameter pattern that auto-rolls (Start Date = first of current month each night), see the Configuration Guide on transformation parameters.

Calculation Parameters in a Scheduled Run

For nightly scheduled runs:

Parameter Recommended Value
Start Date First of current month (computed dynamically)
End Date Today (or end of current month)

This recalculates only the open period each night. Historical periods stay stable.

If you need monthly recalculation of just-closed periods (e.g., on the 5th of each month, recalculate last month's position one final time before treating it as closed), schedule a separate job for that.

Monitoring

Real-Time

The Admin → Batch Jobs page shows currently running, recently completed, and scheduled jobs. Open it to see:

  • Whether the latest Calculate ran successfully
  • How long it took
  • Any errors in the log

For routine monitoring, a quick check at the start of each business day is enough — if the job ran clean overnight, no action.

Failure Alerts

Configure email notifications on batch job failure:

  1. Admin → Batch Jobs → schedule for Calculate Licensing Position
  2. Set notification email for failures
  3. Test by deliberately running with a bad parameter (and revert)

For larger operations, route the alerts to a monitoring system (PagerDuty, Opsgenie) rather than email.

What to Look For

Common operational signals from the batch job log:

Signal What It Means
Job duration suddenly longer Data volume has grown; performance review may be needed
"Missing required field in affinity rules" Someone changed a calculation rule that references a missing field — see Customizing the Calculation: Testing Rule Changes
Job failed midway Database deadlock, timeout, or environmental issue — check SQL Server logs
Job ran but Last Calculation Run timestamp on the Licenses query did not update The calculation completed but the post-processing step may have failed — review the log for errors

When the Job Should NOT Run

Two scenarios where you should temporarily pause the scheduled calculation:

  1. During a vendor audit. The position is locked at the audit date; nightly recalculation could rewrite numbers in the audit response. Pause until the audit is resolved. See Daily Tasks: Audit Preparation.
  2. During maintenance windows where the database is being patched. Move the schedule to before/after the window.

To pause: disable the schedule (don't delete it) and re-enable when ready.