Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

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
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