MSGW could mean that the job has encountered an error and it is waiting for
a reply to a message on QSYSOPR.  It could also mean that the job has been
coded to wait on a RCVMSG command against a message queue.

If jobs are waiting on error messages you might work out a scheme to submit
or change the jobs to INQMSGRPY(*DFT) so that they crash and burn without
asking for permission.

If jobs have been coded to wait on a RCVMSG things get a bit more complex.
You don't know whether the programs have been written to RCVMSG WAIT(*MAX)
to wait forever if nothing hits the message queue, or whether some time
value is specified for the WAIT parameter.  In either case the jobs are
probably coded to loop back to the RCVMSG command.

You're looking for a process to monitor these jobs and identify ones which
have not been consuming resources.  If jobs are running under a RCVMSG loop
and are either looping because the message queue is providing intermittent
activity, or looping because they don't WAIT(*MAX) a job monitor is not
going to kill these jobs because they will accumulate small amounts of
processing activity.

I could imagine writing a process using kludgy techniques such as dumping
WRKSBSJOB to a file periodically, or through some API's, through some sort
of daemon.  I wouldn't go near it until I had done some analysis of the
jobs.  Can you look at the job logs or change the logging level so that you
can see what the jobs are doing, and what they're waiting on?  Can you
RTVCLSRC on the driver programs?  Unless you have a lot of different
programs hanging up this way I think it would be better to alter the
processing than try to guess the criteria for killing them.

-Jim

James P. Damato
Manager - Technical Administration
Dollar General Corporation
<mailto:jdamato@xxxxxxxxxxxxxxxxx>



-----Original Message-----
From: trevor perry [mailto:trevorp@xxxxxxxxxxxxxxxx]
Sent: Wednesday, January 14, 2004 9:13 PM
To: Midrange Systems Technical Discussion
Subject: Re: Terminating an idle batch job


Yes - waiting jobs. Possibly all of the below - MSGW is the most common.

It does not make a difference - if the job has not used any resources in a
given period of time, I want to the job to end. There is no issue here with
terminating in the middle of a process.

----- Original Message ----- 
Subject: RE: Terminating an idle batch job


> What do you mean by an idle batch job?  What are your batch jobs waiting
on?
> Are you talking about failed jobs with error messages on QSYSOPR?  I can't
> imagine an idle job where the code has not been specifically written to
wait
> on some sort of logic (monitoring a message queue or data queue, or in a
> wait or DLYJOB loop...)
>
> -Jim
>
> James P. Damato
> Manager - Technical Administration
> Dollar General Corporation


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.