Subject: | |
From: | |
Reply To: | |
Date: | Fri, 2 Feb 1996 11:57:49 -0800 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
On Feb 2, 2:34pm, Chris Bartram wrote me (I hope it is ok to broadcast this!)
> Subject: Re: :PAUSE until jobstate?
> In <[log in to unmask]> [log in to unmask] writes:
>
> > :PAUSE ...;JOB=jobid ;UNTIL=state ,where "state" can be END or
TERMINATE
> > to indicate a pause until the job(s) have terminated (this is what is
> > already
> > implemented). Or state can be START or EXEC to mean pause until the
job(s)
> > has progressed beyond "intro" (this is what I am considering adding).
>
> Jeff,
>
> In many systems I know, jobs get streamed and may not log on for quite some
> time (perhaps not even for many hours if there are other higher priority jobs
> running) - often the streamer of the job isn't aware of this as the SM/OP
take
> care of scheduling jobs (or may hold all jobs until the 'payroll' job is done
> for example).
> My point is that it wouldn't be too uncommon for a job to get streamed and
> either not logon for a LONG time, or perhaps even get aborted while in WAIT
> state. While the :PAUSE option you mention certainly could be useful, make
> sure to allow it to also return in the even that the referenced job gets
> killed for some reason;
This is how it would work although I didn't say this. Anytime break is hit, or
anytime all of the jobs you are pausing on either terminate or "reach their
until= state" the pause stops.
> ... this begs the question 'how about some kind of a
> return variable that tells the requestor that the job was indeed aborted
> before it ever logged on, or if it did indeed logon and the pause returned
> normally'.
I don't have a way to do this (at least none that I can think of off the top of
my head). You can detect if a job or jobs have been in running or waiting "too
long" as follows:
:pause 600;job="j@,@.ap";until=X (X=end or start)
:if hpcierr = -9032 then
: # jobs have not reached state X within 10 minutes, so ...
:...
In this ex. I pause myself until all jobs (j@ by convention) in the AP account
have either terminated (X=end, default) or are now executing (X=start). If
after approx 10 minutes there is at least on job in AP that has not reached
state X then CIWARN 9032 is set.
> Food for thought... Thanks for the opportunity for input!
>
You're welcome,
Jeff
--
|
|
|