home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume25
/
QBATCH
/
part04
/
NEWS
Wrap
Text File
|
1991-11-04
|
6KB
|
159 lines
Current release of QBATCH version 2.0 Aug 30 1991
The QBATCH system and its related programs were
written by Alan D. Saunders and are
Copyright (c) Vita Services Ltd. 1990 and
Copyright (c) Vita Fibres Ltd. 1991
PLEASE read the NOTICE file for details.
ORIGINS.
In 1989 we (as a company) were faced with porting all our software from
a proprietary operating system to UNIX. Most of the applications were
based on a two layer transaction processing system which made heavy
use of the system's batching system. Under UNIX, we attempted to use
the print spooling system to emulate batch queuing with limited
success. I undertook to write a batch queueing system which included
the best of the functions of the old system (plus a lot of enhancements)
before the new UNIX systems went live. The original system was
implemented in May 1990, the first Sun SPARCstation went live in the
October. Apart from incremental enhancements, QBATCH has been going
strong since then (now live on ten systems in the company).
In May (or June) 1991 I read a posting in alt.sources.wanted from
someone looking for a batch queueing system. Simultaneously, the
software house who's tools we used for the conversion, expressed an
interest. (They were doing further ports for other users of the same
proprietary kit.) I therefore 'shar'ed it up and distributed it as
it then stood. (including posting it in alt.sources). As a result of
this, I have had a great deal of feedback:
---------------------- The story continues ----------------:-
QBATCH has been totally revamped since the last release. This was done
in the light of difficulties experienced by several people in trying to
compile and install it on their systems. QBATCH is now far more easily
configured for the target platform, and some previously hard-wired
facilities have been made configurable.
All (I hope) areas where different platforms provide differing support
have been moved to a new file config.c. Which of each of the various
options is used is determined by defines in config.h. (file locking,
signal handling, and process group handling).
Configuration options for QBATCH itself (the paths for the spool files
and the queues themselves) are contained in the first few lines of
qbatch.h.
Support for systems that can't exec scripts (containing #!/bin/sh for
example). Now qp reads the first line of the jcl file and execs the
program stated therein, instead of the file itself.
The shell under which the batch job is run can be specified when
submitting the job using the -s<shell> option, thus allowing for
example 'js -s/usr/local/bin/perl -n <jobname> <queue> <jclfile>'
Originally, the batch shell used was always the bourne shell.
(this is still the default).
Environment variables can be prevented from being passed to the batch
job. By default, all environment variables in force when a job is
submitted are passed through, and form part of the environment of the
running job. Now, if a .qxenv file exists in the same directory as the
queues themselves, then any non- blank lines (not starting with '#')
are taken to contain (one per line) the names of environment variables
which are NOT to be passed to the batch job.
A. D. Saunders August 30 1991
----------------------------------------------------------------------
September 18 1991:
Much work has been carried out resolving porting problems .. current release
incorporates these changes.
Thanks to:
Chris Metzler (metzler@elvis.physics.lsa.umich.edu)
(Port to Stardent S5000)
John Whitley (G.W. Systems ltd., Tring Herts UK.)
(Ports to I386 architecture and HP/UX)
..ADS.
September 23 1991:
A degree of profile timing has been introduced, real (wall clock),
user and system times taken by queued jobs are now reported in the
monitor, and a summary report may be requested with the (new) -s option
of qf. This reports the totals of each time, and the average per job.
..ADS
October 3 1991
Profile timing extended to include queueing time (time on queue before
processing).
Caught a race condition bug (and learnt a bit more about mandatory and
advisory file locking!!) js was telling qp that a job was available
before unlocking the queue. qp was receiving the signal but couldn't
open the queue to get the job.
(Thanks to John Whitley for this one)
Implemented code which should (?) prevent qp being initialised twice
for the same queue. removed -r (restart) option from qp.
Implemented code to allow optional queues to have "NONE" as the default
monitor. In these cases js will now fail if the queue has "NONE" for
the monitor and the user submitting the job has not specified a
monitor on the command line, and their MONITOR environment variable
is not set.
modified qf to look for the environment variable if default monitor
is "NONE".
Modified qc to allow changes to existing queues (priority, monitor etc.)
Modified js to replace the default shell with the first line in
.<queuename>rc (fixed context queues) if it is of the form:
#!<pathspec> [options]
and if the -s option is not used.
Tarted up documentation, rehashed man pages to account for above changes.
Released current version as beta release to local sites.
..ADS
9 October 1991 bug js coredumps for fixed context queues where
#QCONTEXT is defined. Discovered a 'feature':-) in Sun's
implementation re XPG3 (tm). the core dump was at the following:
i = sscanf (buff, "%s %d %d", rcmd, &jobuid, &jobgid);
If jobuid and jobgid are defined (per X-OPEN) as uid_t, and gid_t,
it results in a bus error!
bug fixed by using a pair of ints for the sscanf, and moving them
to job[ug]id.
16 October 1991 ..
Added -n option to qf to get the priority or nice value.
Added -l option to qf to list summary of flags.
Added qt program to test queue flags.
added qa script to list queues available to a user.
Brought man pages up to date.
..ADS
31 October 1991
Wrote documentation... This is preliminary, and not formatted.
My knowledge of [nt]roff is limited to the creation of man pages,
and my knowledge of [La]TeX is even less.... Any volunteers?
..ADS