Controlling MSJOB
MSJOB
MiddleMan • ODBC/32 • JDBC • OLEDB • NFT
Some of the features noted in this document require new versions of MSSERVER and SERVER. Please contact Minisoft for assistance installing the new versions.
Controlling MSJOB
You may control MSJOB with either a Windows based application (Server Console) or from the MPE command line (MSJOBCMD).
Overview of MSJOB
MSJOB is used to contain the Minisoft Client/Server product server Listeners. Each product has one or more Listeners. These are controlled by parameters from a combination of SETVAR calls and indirect files.
Each Listener will start one Process for each connection established. Each Process has a unique PIN and is the son of the Listener that created it.
Parameters
MSTRACE
This can contain a number from zero (0) to seven (7). Each number gives sequentially more information about what is happening in the MSJOB processes.
!SETVAR MSTRACE 0
.
.
!SETVAR MSTRACE 7
Set to zero (0) to suppress all comments. A value of one (1) will output warnings. Use two (2) to display informational messages. Use three (3) to output both information and warnings. Detailed messages are printed when you use four (4). For a complete trace use seven (7).
Newer servers will accept server specific trace levels. For example;
!SETVAR MSTRACEDATASRVR 7
NOTE: Use of the ;STDLIST=??? in the MSSERVER###### variable will cause the trace data to be redirected to the specified file.
DEFAULT: No extra trace is generated.
MSTEMPFM
This parameter controls how middleman services manage MPE temporary files. This will primarily affect FrontMan and Custom servers. Your choices are to either share the MPE temporary file space among all processes in the same job or isolate the temporary file for each connection.
MSTEMPFM 0 temporary files are local to each process tree (connection). MSTEMPFM 1 will allow processes to share temporary files.
DEFAULT: Process local temporary files.
MSFILEEQ
Primarily controls the scope of MPE File Equations. Also controls the equivalent of logon UDCs.
!SETVAR MSFILEEQ 0
!SETVAR MSFILEEQ 1
!SETVAR MSFILEEQ 2
!SETVAR MSFILEEQ 3
When this value is set to zero or two, File Equations are Global in scope for the job.
When this value is set to one or three, File Equations are Local in scope. Each process in the job must set any needed file equations.
When this value is set to two or three, a command of MSFILEEQ is issued after the user is ‘logged in’. The normal method of using this would be to have a command file or login UDC for each user that requires individual file equations.
DEFAULT: Zero (0), Global File Equations.
MSRUNPRI
Sets the priority the listening processes (MSSERVER and SERVER) will be running at. Each child process created for individual connections can be set at a different priority using the ;PRI=?? in the MSSERVER###### line.
!SETVAR MSRUNPRI “CS”
!SETVAR MSRUNPRI “DS”
!SETVAR MSRUNPRI “ES”
NOTE: This will override the job priority for MSSERVER and SERVER. As the two processes involved do not run for more than a fraction of a second each pass, no system performance degradation should be seen. Running these at too low a priority will result in connection timeout failures.
DEFAULT: Both MSSERVER and SERVER will run at the job priority.
MSSERVER######
The MSSERVER###### variable is used to specify: port number, maximum users, and RUN string for each Listener. Alternatively, MSSERVER###### can use an indirect file.
Each Listener can create Processes at a given priority.
!SETVAR MSSERVER000004 &
! “30006 0 ODBCSRVR.MM.MINISOFT;PRI=DS S”&
!+”|31006 0 ODBCSRVR.MM.MINISOFT;PRI=CS S”
This will start two Listeners. Clients that connect to port 30006 will operate in the “D” queue. Clients that connect to port 31006 will operate in the “C” queue.
The second value will usually be zero (0). This value specifies the maximum number of concurrent connections on this port. Valid values are 0 to 255. Zero (0) indicates an indefinite number of connections.
Each connection can specify a different version of the server program (ODBCSRVR in this case). This is used while transitioning to a new version of the server when you can not change all the client software at the same time.
Indirect File
Each line of the file would contain the specification for connection. MSJOB would contain the following line:
!SETVAR MSSERVER000005 “^JDBC0001”
The file JDBC0001 can contain the following lines:
30007 0 JDBCSRVR.MM.MINISOFT;PRI=DS S
31007 0 JDBC2171.MM.MINISOFT;STDLIST=TRACEFIL;PRI=DS S
Control
Start MSJOB by streaming the file MSJOB.MM.MINISOFT.
MSJOB may be controlled by either Server Console or MSJOBCMD. These utilities allow you to view into and control MSJOB, the Listeners, and the Processes.
Sample
!JOB MSJOB,MGR.MINISOFT,MM;OUTCLASS=LP,1
!COMMENT
!COMMENT For use with MSSERVER 2.3.1.5 or later
!COMMENT For use with SERVER 2.3.1.4 or later
!COMMENT
!COMMENT MSTRACE 1 to output warnings
!COMMENT MSTRACE 3 to output information and warnings
!COMMENT MSTRACE 7 to output detailed trace
!COMMENT
!COMMENT MSTEMPFM 0 temp files are local to each process.
!COMMENT MSTEMPFM 1 will allow processes to share temp files.
!COMMENT
!COMMENT MSFILEEQ 0 File equations are job global
!COMMENT MSFILEEQ 1 File equations are process local
!COMMENT MSFILEEQ 2 File equations are job global (XEQ MSFILEEQ)
!COMMENT MSFILEEQ 3 File equations are process local (XEQ MSFILEEQ)
!COMMENT
!COMMENT MSRUNPRI sets the priority of the listener processes
!COMMENT Use the ;PRI= option for each server
!COMMENT
!SETVAR MSTEMPFM 0
!SETVAR MSFILEEQ 0
!SETVAR MSRUNPRI “CS”
!SETVAR TZ,”PST8PDT ”
!COMMENT
!SETVAR MSSERVER000002 “30001 0 NFTSRVR.MM.MINISOFT;PRI=DS;INFO=’ S'”
!SETVAR MSSERVER000004 “30006 0 ODBCSRVR.MM.MINISOFT;PRI=DS;INFO=’ S'”
!SETVAR MSSERVER000005 “30007 0 JDBCSRVR.MM.MINISOFT;PRI=DS;INFO=’ S'”
!SETVAR MSSERVER000008 “30002 0 DATASRVR.MM.MINISOFT;PRI=DS;INFO=’ S'”
!RUN MSSERVER.MM.MINISOFT;INFO=”30000 SERVER.MM.MINISOFT”
!EOJ
Global Variables for ODBCSRVR
If you need to limit the time or disc space affected by ODBC, add one or both of the following statements to your MSJOB file (before the RUN command):
!SETVAR MSQUERYRECLIMIT 1024
!SETVAR MSQUERYCPULIMIT 20
Maximum records per query set with MSQUERYRECLIMIT is in records . Maximum cpu time per query set with MSQUERYCPULIMIT is in seconds . If either limit is reached, your action will be terminated with an error.