Can you explain how VM:Schedule's monitor works, the request execution monitor.
There are two types of monitoring functions in VM:Schedule.
- There is monitoring done that allows dumps to be taken if a request abends, logoff at completion, spool the user's console as requested and send information at request end to VM:Schedule. This is the request execution monitor. This monitoring is configured via the MONITOR record. If the configuration file record is set up with DEFLTNO or DEFLTYES, the user can change the default during request submission. Though this facility is controlled by a MONITOR configuration file record, it is not job monitoring in the classic sense in that it doesn't monitor running requests for exceeding resource consumption limits and the like.
The logic that performs the request execution monitor function runs on the user's virtual machine before and after the job so it can get control if a scheduled request abends, and at the end of the request execution so it can LOGOFF the virtual machine.
- There is also a job monitoring facility in VM:Schedule that allows you to put limits on request consumption. This is controlled by the USEREXIT MONITOR record and the CLASS records to put limits on resource consumption such as I/O and CPU times for the request. You have to put the MONITOR userexit in place to take action, such as forcing the user running the request, when the limits are exceeded. This is monitoring in the classic sense. This monitoring logic runs on the VM:Schedule service virtual machine and takes samplings of the resource consumption during the request execution. It runs independent of the monitoring activity that is described above. When the limits are exceeded, the monitor userexit is called for the action to be taken for the user exceeding the limits. See the USEREXIT information at the end of Chapter 4 in the VM:Schedule System Administrator's guide to see how limits and intervals are set up via the USEREXIT MONITOR record. Also see the CLASS configuration file record which can be used to set limits by class.
The USEREXIT MONITOR record sets default limits if CLASS is not being used.
For more information about monitoring and tracking requests, refer to VM:Schedule's Administration Guide.