<< Click to Display Table of Contents >> Navigation: Modules > Asset Management > Housekeeping |
Housekeeping is a server-based console application that runs as a timed operation. It handles an extensive list of general housekeeping tasks which include:
•Setup the run
•How many emails to process (100)
•How many workflows to process (100)
•Is there a specific publisher configured
•Check for stuck jobs
•Setting RemoveStuckHousekeepingHours
•See if the global run flag is turned off
•Setting GlobalHouseKeepingOn
•Process assets marked for deletion
•Check emails
•Includes looking for workflow emails and finding attachments that may be associated with an import job
•Check for files that need to be signed
•There are workflows that stage certain files which require a digital signature
•Check budget items
•The MIE supports tracking IT budgets and line items for those budgets. In addition, the MIE will automatically calculate actual expenditures against certain budgets (where the budgets are used for IT asset purchases and those assets are being tracked within the MIE).
•Check to see if there are any WDA s/w removal jobs to stage
•Check any records that require tokenizing
•The MIE supports the ability to use alternate languages (other than English)
•Check to see if there is asset custodian work to do
•The MIE can be set to automatically determine the custodian of a given asset that is capable of being auto-discovered
•Check to see if we have any counters that require updating.
•Counters are used for a variety of purposes. They may be used to calculate and display (via gauges on the dashboard) various metrics of interest (such as key performance indicators). Counters can also be used to specify the current deployed position for various software authorizations.
•Check the Wiki Authority
•The MIE allows for the establishment of a WiKi master customer on each instance. The MIE further allows for defining a single WiKi master as the WiKi authority. During housekeeping, there is a check to see if the current customer being processed is defined as a WiKi master. If yes, then a subsequent check is made to see if the instance is the WiKi authority. If it is not, then a special matching algorithm is run to build a list of WiKi Authority titles that can be linked using a dropdown in the managed software screen for the individual MSL titles in the WiKi master customer.
•Check to see if we have any AA rules linked to a master that require update
•Check to see if we have any remediation tasks to perform
•Check any license owners that need info sent to them (deprecated)
•Check condition-based triggers
•These fire workflows
•Check for workflow timeouts
•Check for any decision trees
•A Decision Tree is used to run records of a target table through a battery of tests (usually to test for data integrity), finally converging on a single outcome and remediation advice (if required) and/or action.
•Check for any workflow queued entries that have been submitted but need to be progressed
•Check for job notifications
•Check run-once tasks
•Trim files on the server
•Setting DaysToKeep
•Trim IMAC tables
•There are many settings, including catch point roles, that determine the retention periods for different types of records.
•Trim log tables
•Distil Ajax logs
•Check to see if it's time to run asset health
•Only run this in the fifteen minute interval between midnight and 00:15
•The MIE can be set to test the "health" of asset records - essentially scoring each active record based on criteria that is provided via several system settings.
•Host customer checks
•Check for spyware
•Update system tables
•Trim error files
•Clean Xtables
•Update attachment contacts
•Check archive customers
•Clean up the UDF cross link table. Will remove links to MSL or master product records that have been removed.
Since housekeeping can be a potentially massive job (number of DCLA records to process has a significant effect), the housekeeping engine runs as a process on the MIE. The process monitors the MIE Job Queue. When it sees a job in the queue in “SUBMITTED” status, it picks it up, changes the status to “PROCESSING”, and begins to process the job. The service monitors the queue in a very tight loop. So that a processing job that gets kicked off does not take the attention of the whole server (making other jobs wait in the queue until it is done), each housekeeping job is run as a separate thread. That way, there can be as many housekeeping jobs running in parallel as the server can support, which is based on its horsepower and whatever else it’s being asked to do.
A user on the MIE interactively places a consolidate job in the queue by using the MIE's Timed Operations capability. The status is set to “SUBMITTED”. The server engine picks up the job and sets the status to “PROCESSING”. When complete, the server engine sets the status to “COMPLETE”. The MIE picks up all jobs in status complete and sends a notification email to the user who submitted the job, changing the status to “NOTIFIED”.
Warnings and errors, along with the results of the variety of tasks performed, and the time (in seconds) that it took to run the job are logged to the job log. The entry in the job queue that kicked off the job is linked to the job log entry. There is potentially quite a bit of information logged to the job log.