Executing a TCL command from a UNIX script.
Posted: Mon May 14, 2001 10:25 pm
Hello All,
My problem is that we wish to control schedule jobs using Maestro from a remote machine.
Currently the only way I can see to do this is to:
Run a UNIX Script
Which uses .../Ardent/uv/bin/dsjob to run a control job which:
Evaluates parameters
Executes the Required job
Wait for the Required job to Complete
Returns Control & Status to the UNIX Script
Which it Turn Returns Status to the Remote Machine.
The problem with this Scenario is that in order to Allow more than One job to be invoked at a time it requires potentially a Control Job for every Job.
What seems to be a much better option is to run a function like RoutinessdkUtilityRunJob from the UNIX environment.
By compiling and cataloging a BP program called say ExecuteUtilityRunJob which in turn could execute UtilityRunJob we would achieve con-currency.
However when I try
exec $uvhome/bin/uv ExecuteUtilityRunJob , or
exec $uvhome/bin/uvsh ExecuteUtilityRunJob
Control is NOT returned to UNIX. What happens is the process runs but then Logs Out and disconnects the session.
One Option may be to:
Fork the exec $uvhome/bin/uvsh ExecuteUtilityRunJob (which writes a
semaphore)
Then Wait for the semaphore to appear.
But I am hoping there is a better Way, can anyone help?
Thanks In advance Jack
CAUTION: This correspondence is confidential and intended for the named recipient(s) only. If you are not the named recipient and receive this correspondence in error, you must not copy, distribute or take any action in reliance on it and you should delete it from your system and notify the sender immediately. Thank you.
Unless otherwise stated, any views or opinions expressed are solely those of the author and do not represent those of Vodafone New Zealand Limited.
Vodafone New Zealand Limited
21 Pitt Street, Private Bag 92161, Auckland, 1020, New Zealand Telephone + 64 9 357 5100 Facsimile + 64 9 377 0962
My problem is that we wish to control schedule jobs using Maestro from a remote machine.
Currently the only way I can see to do this is to:
Run a UNIX Script
Which uses .../Ardent/uv/bin/dsjob to run a control job which:
Evaluates parameters
Executes the Required job
Wait for the Required job to Complete
Returns Control & Status to the UNIX Script
Which it Turn Returns Status to the Remote Machine.
The problem with this Scenario is that in order to Allow more than One job to be invoked at a time it requires potentially a Control Job for every Job.
What seems to be a much better option is to run a function like RoutinessdkUtilityRunJob from the UNIX environment.
By compiling and cataloging a BP program called say ExecuteUtilityRunJob which in turn could execute UtilityRunJob we would achieve con-currency.
However when I try
exec $uvhome/bin/uv ExecuteUtilityRunJob , or
exec $uvhome/bin/uvsh ExecuteUtilityRunJob
Control is NOT returned to UNIX. What happens is the process runs but then Logs Out and disconnects the session.
One Option may be to:
Fork the exec $uvhome/bin/uvsh ExecuteUtilityRunJob (which writes a
semaphore)
Then Wait for the semaphore to appear.
But I am hoping there is a better Way, can anyone help?
Thanks In advance Jack
CAUTION: This correspondence is confidential and intended for the named recipient(s) only. If you are not the named recipient and receive this correspondence in error, you must not copy, distribute or take any action in reliance on it and you should delete it from your system and notify the sender immediately. Thank you.
Unless otherwise stated, any views or opinions expressed are solely those of the author and do not represent those of Vodafone New Zealand Limited.
Vodafone New Zealand Limited
21 Pitt Street, Private Bag 92161, Auckland, 1020, New Zealand Telephone + 64 9 357 5100 Facsimile + 64 9 377 0962