Document toolboxDocument toolbox

14.1 FRU Process

What does the FRU do?

The FRU process (spfru) is the main ServiceOptimizer process which, for a single FRU, books, schedules and dispatches jobs. It also monitors and reports jeopardy conditions. One FRU process is run for each FRU. 

In more detail, each process builds a schedule up in memory for all of the jobs that are booked to all the employees that are posted within its specific geography over a period of days. The data is then available for further bookings to be made and for manual changes to those schedules using the ServiceGANTT client via the Gantt Router. The FRU is also then responsible for ensuring that the optimization rules are applied to the schedule and that the jobs are then dispatched out as requested, via the API Agent.

 Example syntax: must only be run by sysmon
ParameterOptionsDescription
-d<database> Mandatory database connection string (supplied by System Monitor, spsysmon). 
[-c <num>] Defaults to 4.Number of database connections to use. A high value for this parameter might improve performance, but you may hit the system limit on the number of connections. 
-m <monitorId> This parameter is optional, if it is not present then it is assumed that there is no System Monitor controlling this process. Component identifier for System Monitor (supplied by spsysmon).
-i <componentId>  Component identifier for this component (supplied by spsysmon).
[-h]  Display usage message.
[-n <retryLimit>] Default value is set to 3 if a value is not specified. Number of times the FRU process will attempt to reconnect to the database.
[-r <retryDelay>] Default value is set to 3 if a value is not specified. 

Time interval between database reconnection attempts.

Care must be taken not to set the time interval too high as blocking threads will cause issues.

System Parameters

These mandatory parameters are applied globally across all threads within an FRU process. See Business Functionality for more detail on each.

ParameterDescription
abs_allow_book_deallocEnables deallocation of jobs of lower importance to be used in order to fit in new jobs through booking or ABS allocate.
glob_sched_horizonNumber of days in the scheduling window.
glob_days_before

Number of days before today at which the Memory Horizon is to start.

glob_days_afterNumber of days after today at which the Memory Horizon is to end.

travel_matrix

Travel matrix file location (full path name). See Travel Matrix.

fru_day_rounding_valAutomatically calculated operative day boundaries are snapped to multiples of this value (in hours). Should be set to be consistent with glob_min_wd_len.

Additionally, there are a number of other, per FRU, parameters that are applied for specific functionality. All of these have default values, and all can be manipulated via the ServiceManager Web interface. However, the following table points to where their database definitions may be found:

Logging

The FRU process runs a number of threads, one for each functional area, namely: ABS (which serves all API calls), Gantt server , Dispatch, Jeopardy, and Optimizer. The Optimizer thread produces its own log file, whereas the others produce their output in the FRU process log file, see Application Logfiles.