SCHEDULE
Automated Job Submission System
Guide and Reference Manual


Previous Contents Index

D.2 Control file layout


 
define record SDE_record using 
01 SDE_record. 
   02 SDE_b_key_grp_id                 usage is byte . 
   02 SDE_t_key_directory_1            pic x(25) .    
   02 SDE_t_key_filler0                pic x(1) .     
   02 SDE_t_key_directory_2            pic x(25) .    
   02 SDE_t_key_filler1                pic x(1) .     
   02 SDE_b_key_search_section         usage is byte . 
   02 SDE_t_key_name                   pic x(39) .    
   02 SDE_t_key_filler2                pic x(1) .     
   02 SDE_b_key_type                   usage is byte . 
   02 SDE_b_key_index                  usage is byte . 
   02 SDE_q_cur_next_start             usage is date . 
   02 SDE_i_cur_delay                  usage is long . 
   02 SDE_i_cur_flags                  usage is long . 
   02 SDE_i_filler_1                   usage is long . 
   02 SDE_t_msc_comment_1              pic x(50) .    
   02 SDE_t_msc_comment_2              pic x(50) .    
   02 SDE_q_msc_last_start             usage is date . 
   02 SDE_q_msc_last_submit            usage is date . 
   02 SDE_q_msc_completed              usage is date . 
   02 SDE_i_msc_flags                  usage is long . 
   02 SDE_i_msc_up_count               usage is long . 
   02 SDE_i_msc_down_count             usage is long . 
   02 SDE_t_msc_username               pic x(32) .    
   02 SDE_i_msc_owner                  usage is long . 
   02 SDE_i_msc_protection             usage is long . 
   02 SDE_i_msc_status                 usage is long . 
   02 SDE_t_msc_job_tag                pic x(32) .    
   02 SDE_b_msc_restart_limit          usage is byte . 
   02 SDE_b_filler_2                   usage is byte . 
   02 SDE_w_filler_3                   usage is word . 
   02 SDE_t_msc_pre_com_file           pic x(50) .    
   02 SDE_t_msc_post_com_file          pic x(50) .    
   02 SDE_t_rsc_calendar               pic x(33) .    
   02 SDE_w_rsc_type                   usage is word . 
   02 SDE_t_rsc_mark                   pic x(1) .     
   02 SDE_q_rsc_interval               usage is date . 
   02 SDE_q_rsc_time_of_day            usage is date . 
   02 SDE_q_rsc_delayed_after          usage is date . 
   02 SDE_i_rsc_flags                  usage is long . 
   02 SDE_r_req_est_cputime            usage is real . 
   02 SDE_r_req_mea_cputime            usage is real . 
   02 SDE_r_req_est_elapse             usage is real . 
   02 SDE_r_req_mea_elapse             usage is real . 
   02 SDE_i_req_est_io_count           usage is long . 
   02 SDE_i_req_mea_io_count           usage is long . 
   02 SDE_i_req_mea_count              usage is long . 
   02 SDE_i_req_est_disk               usage is long . 
   02 SDE_t_req_disk                   pic x(39) .    
   02 SDE_t_req_file                   pic x(60) .    
   02 SDE_t_req_filler                 pic x(40) .    
   02 SDE_t_ntf_submitted              pic x(32) .    
   02 SDE_t_ntf_started                pic x(32) .    
   02 SDE_t_ntf_delayed                pic x(32) .    
   02 SDE_t_ntf_completed              pic x(32) .    
   02 SDE_t_ntf_failed                 pic x(32) .    
   02 SDE_i_ntf_flags                  usage is long . 
   02 SDE_t_sub_cli                    pic x(9) .     
   02 SDE_t_sub_node                   pic x(50) .    
   02 SDE_t_sub_char                   pic x(40) .    
   02 SDE_q_sub_cputime                usage is date . 
   02 SDE_i_sub_flags                  usage is long . 
   02 SDE_t_sub_log_file               pic x(60) .    
   02 SDE_t_sub_job_queue              pic x(39) .    
   02 SDE_t_sub_job_name               pic x(39) .    
   02 SDE_t_sub_p1                     pic x(80) .    
   02 SDE_t_sub_p2                     pic x(40) .    
   02 SDE_t_sub_p3                     pic x(40) .    
   02 SDE_t_sub_p4                     pic x(40) .    
   02 SDE_t_sub_p5                     pic x(40) .    
   02 SDE_t_sub_p6                     pic x(40) .    
   02 SDE_t_sub_p7                     pic x(40) .    
   02 SDE_t_sub_p8                     pic x(40) .    
   02 SDE_t_sub_print_queue            pic x(39) .    
   02 SDE_t_sub_account                pic x(32) .    
   02 SDE_i_ws_default                 usage is long . 
   02 SDE_i_ws_extent                  usage is long . 
   02 SDE_i_ws_quota                   usage is long . 
   02 SDE_b_sub_priority               usage is byte . 
   02 SDE_t_filler                     pic x(276) .   
 

D.3 History file fields

The HISTORY file contains a record of all scheduling queue state changes. For example when a job that has been waiting for a certain file and then finds that file. It is posted into the next scheduling queue and an record is written into the history file.

Not all the components are filled in for all types of events. The amount of data is controlled by the event code. The various components of the history record are described below:

D.4 History file layout


 
define record HST_record using 
01 HST_record. 
   02 HST_b_key_grp_id                 usage is byte . 
   02 HST_t_key_directory_1            pic x(25) .    
   02 HST_t_key_filler0                pic x(1) .     
   02 HST_t_key_directory_2            pic x(25) .    
   02 HST_t_key_filler1                pic x(1) .     
   02 HST_b_key_search_section         usage is byte . 
   02 HST_t_key_name                   pic x(39) .    
   02 HST_t_key_filler2                pic x(1) .     
   02 HST_b_key_type                   usage is byte . 
   02 HST_b_key_index                  usage is byte . 
   02 HST_q_key_date                   usage is date . 
   02 HST_i_key_set_id                 usage is long . 
   02 HST_i_event_type                 usage is long . 
   02 HST_q_log_date                   usage is date . 
   02 HST_t_sub_queue                  pic x(39) .    
   02 HST_i_sub_entry_no               usage is long . 
   02 HST_t_sub_set_tag                pic x(32) .    
   02 HST_i_sub_set_id                 usage is long . 
   02 HST_t_sub_set_parameter          pic x(57) .    
   02 HST_i_sub_step                   usage is long . 
   02 HST_q_cmp_start                  usage is date . 
   02 HST_i_cmp_elapse                 usage is long . 
   02 HST_i_cmp_cpu_time               usage is long . 
   02 HST_i_cmp_io_count               usage is long . 
   02 HST_i_cmp_status                 usage is long . 
   02 HST_i_cmp_pid                    usage is long . 
   02 HST_i_cmp_ppaging                usage is long . 
   02 HST_i_cmp_pgeflts                usage is long . 
   02 HST_i_index                      usage is long . 
   02 HST_t_node                       pic x(6) .     
 


Appendix E
Parameters

The SCHEDULE system is controlled via a group of parameters which are contained in the file SCH0_PARAMETER.DAT, which is created automatically when the distribution tape is loaded. This is a plain text file and can be edited with any editor. Typically once setup these parameters do not change very often.

The SCH0_PARAMETER.DAT is the parameter data file for scheduling group 0. Each of the other 9 potential groups (1 through 9) would have its own parameter data file. See the section on Scheduling groups on Section 2.4.1 for more information on scheduling groups.

E.1 Formatting rules

The format of the data in the parameter file must follow the below rules.

IN GENERAL LEAVE THE PARAMETER VALUES BLANK. The default values are designed to be acceptable in most cases.

Once you have changed a parameter value for it to take affect the server(s) must be restarted. Use the following type of command to do this. This is best done at a time when the server is idle.


 
 
$ schedule server restart [ -cluster] 
 
 

E.2 Database node

The data files (CONTROL, QUEUE, HISTORY) can be on any node in your cluster or network. The below parameter indicates on what node. By default it is on the current node.


 
DATABASE_NODE = node_name 
 
DATABASE_NODE = CLSTR 
 

If the node is in the current cluster and is locally accessible ordinary RMS operations are used to read/write the data. If the node is on a remote node then the I/O requests are routed over the network to the SERVER process on that node.

E.3 Channel controls

This system works in client/server fashion. The foreground interface either command line or MOTIF Editor/Monitor sends all I/O and other requests to the server process via a mailbox. The server process then performs the request or forwards the request onto the target node (if a remote system was indicated). The maximum number of RMS file channels that are used by the server process is controlled by these parameters. The channels are only opened as needed and closed when not needed. Any request for a channel that occurs after all channels are busy is queued up and performed when a channel becomes free. On a very active scheduling system these numbers may need to be increased. If you greatly increase these values the -file_limit value in the schedule_start script may need to be increased.


 
QD_CHANNELS = number  QUEUE.DAT channels, default 12 
SDE_CHANNELS = number  CONTROL.DAT channels, default 6 
HST_CHANNELS = number  HISTORY.DAT channels, default 6 
 
QD_CHANNELS = 25 
 

E.4 Network controls

All requests that reference a remote node (either via a node specified in submit parameter, explicitly in an initiate or prerequisite list element, or from a foreground command) are transmitted to that node for processing. The access on the remote node by the requesting user is determined by equating the incoming user to one on the remote node by reading the NETPROXY.DAT file. All the standard proxy specifications are honored. If no local information is found the request is rejected. By specifying a DEFAULT_USER the request is not rejected but given the access associated with this DEFAULT_USER. Setting the DISABLE flag indicates that the remote user has the same access rights on the remote system as on the source system (this is usually not true).


 
NETPROXY_DEFAULT_USER = username last resort default user 
NETPROXY_DISABLED = flag   0(D)/1 treat all as local 
 
NETPROXY_DEFAULT_USER = DECNET 
NETPROXY_DISABLE = 0 
 

E.5 Resource polling

Certain resources and events (file availability, disk space availability and delayed job) are all detected by a polling process. Periodically the system checks to see if the event has occurred. These parameters control the interval between these checks.


 
POLLING_FILE = secs  file polling interval (D=300) 
POLLING_DISK = secs  disk pooling interval (D=300) 
POLLING_DELAY = secs  delayed job polling interval (D=300) 
STUCK_AFTER = secs  stuck in queue after interval (D=900) 
 
POLLING_FILE = 600 
 

E.6 History controls

History data is recorded for all queue state transitions. This data can accumulate rapidly. If this data is of no use to you then this recording process can be turn off by setting the below variable.


 
HISTORY_ACTIVE = number  0/1 keep history data (D=1) 
 
HISTORY_ACTIVE = 0 
 

E.7 Notification controls

All events (started, delayed, failed, completed, submit, other) notifications are send via a batch job. When the event occurs a command file is created containing all the parameters of the event. After the parameters are established this command file is submited to a batch queue for execution using the following attributes. It is important that these messages get delivered in a timely fashion. If your SYS$BATCH is very busy it is best to set aside a special high priority queue for this.


 
NOTIFY_QUEUE = queue  queue to use for jobs 
NOTIFY_USER = user  user name to use with job 
NOTIFY_FILE = file  notification action file 
NOTIFY_ENABLED = flag  0/1 if notification is done 
NOTIFY_PRIORITY = number submit priority value 
 

The default values for these are:


 
NOTIFY_QUEUE     = SYS$BATCH 
NOTIFY_USER      = SYSTEM 
NOTIFY_FILE      = SCHEDULE_LIBRARY:SCHEDULE_NOTIFY.COM 
NOTIFY_ENABLE    = 1 
NOTIFY_PRIORITY  = 200 
 

E.8 Completion retention

Whenever a job completes a record of this event is kept in the "old completes" queue. This allows later jobs that have a prerequisite, to check in this queue if the prereq. job has already finished and with what status code. These entries are only kept a certain time period. The default value is 259200 secs. (i.e. 3 days).


 
OLD_COMPLETES_PURGE_INTERVAL = seconds 
 

E.9 Root directory protection

The root directory (i.e. /) has protection and ownership attributes that are established by the following parameters. All the values are specified in decimal.

The default values are:


 
ROOT_DIR_OWNER      = 65540 (i.e. [1,4] or in hex %x00010004) 

some useful values for protection are:


 
 
-52  =  (-rw-rw----) 
0    =  (-rw-rw-rw-) 
-308 =  (-rw-rw-r--) 
 


Index Contents