Operating System - OpenVMS
1752576 Members
4207 Online
108788 Solutions
New Discussion юеВ

Executing ques to stay on the same system

 
SOLVED
Go to solution
Riverhawk
Advisor

Executing ques to stay on the same system

Do you know of a way to be able, while on lets say system A, to test jobs that are submitted to any of the system SYS$BATCH* queues and have the job stay on System A & not touch System B?

For example, I am on System A, and need to test execution of the command procedure say DB_NITE.COM. Normally we would submit to SYS$BATCH under user account PROD_DB the file DBCOM:DB_NITE.COM. But we do not want the job to execute on System B. We only want to test on System A completely. During the execution of the command procedure there will be system setup commands executed. Some execute тАЬSETUP ##тАЭ where ## equals the system 2 digit initials. Thus to set the environment for DB one would execute тАЬSETUP DBтАЭ. But there are other command procedures that do not execute the тАЬSETUP ##тАЭ but execute тАЬSETUP PROD_##тАЭ or тАЬPROD:SETUP PROD_##тАЭ. Whenever the PROD_## setup executes and establishes the production logicals. This is ok when one is executing on System B but causes issues when testing on System A. I know we could change the SETUP command but there are 614 different command procedures across DB, CA, CM & CP systems. Too many command procedures to change.
Do you know of a way that would keep setup commands to execute in the manner requested? If I am on System A I only use System A queues & files. And if on System B I access System B queues & files.

The current system is version 7.2-2
3 REPLIES 3
Robert Gezelter
Honored Contributor
Solution

Re: Executing ques to stay on the same system

Riverhawk,

In a word, yes.

The queue name specified in the SUBMIT command can also be a logical name.

It is straightforward to create a separate batch queue for each machine, with a name that includes the nodename.

In the JOB logical name table, one can then create a constant logical name (e.g., USER_THIS_NODE) that contains the name of the specific queue for that node.

Then a SUBMIT/QUEUE=USER_THIS_NODE will submit the job to the correct queue.

I would recommend using this as a stop-gap until the procedures can be changed to work correctly on all nodes, it is a far superior and lower long term cost solution.

- Bob Gezelter, http://www.rlgsc.com
Joseph Huber_1
Honored Contributor

Re: Executing ques to stay on the same system

It seems Your system has a GENERIC queue SYS$BATCH, consisting of execution queues on all (or some) nodes in the cluster.

You can define SYS$BATCH on each individual node to be the execution node of this system.
Example:
Lets assume the execution queues are called
BATCH_nodename, where nodename is the nodename of each system, and are initialized by
INIT/QUEUE/BATCH/ON='f$GETSYI("NODENAME")' -
BATCH_'f$GETSYI("nodename")' ,
then
DEFINE SYS$BATCH BATCH_'f$GETSYI("nodename")' .
SUBMIT without /QUE, or SUBMIT/QUEUE=sys$batch will then execute on the issuing node.
http://www.mpp.mpg.de/~huber
Robert Gezelter
Honored Contributor

Re: Executing ques to stay on the same system

Riverhawk,

On a side note, obviously without seeing the sources one cannot comment, but I would not presume that the only solution to fixing the command procedures is to modify all 614 command procedures. There may be shortcuts.

- Bob Gezelter, http://www.rlgsc.com