home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume25 / QBATCH / part04 / NEWS
Text File  |  1991-11-04  |  6KB  |  159 lines

  1.     Current release of QBATCH version 2.0 Aug 30 1991
  2.  
  3.     The QBATCH system and its related programs were
  4.     written by Alan D. Saunders and are
  5.     Copyright (c) Vita Services Ltd. 1990 and
  6.     Copyright (c) Vita Fibres Ltd. 1991
  7.  
  8.     PLEASE read the NOTICE file for details.
  9.  
  10. ORIGINS.
  11.  
  12. In 1989 we (as a company) were faced with porting all our software from
  13. a proprietary operating system to UNIX.  Most of the applications were
  14. based on a two layer transaction processing system which made heavy
  15. use of the system's batching system.  Under UNIX, we attempted to use
  16. the print spooling system to emulate batch queuing with limited 
  17. success.  I undertook to write a batch queueing system which included
  18. the best of the functions of the old system (plus a lot of enhancements)
  19. before the new UNIX systems went live.  The original system was 
  20. implemented in May 1990, the first Sun SPARCstation went live in the
  21. October.  Apart from incremental enhancements, QBATCH has been going
  22. strong since then (now live on ten systems in the company).
  23.  
  24. In May (or June) 1991 I read a posting in alt.sources.wanted from 
  25. someone looking for a batch queueing system.  Simultaneously, the
  26. software house who's tools we used for the conversion, expressed an
  27. interest. (They were doing further ports for other users of the same
  28. proprietary kit.)  I therefore 'shar'ed it up and distributed it as
  29. it then stood.  (including posting it in alt.sources).  As a result of
  30. this, I have had a great deal of feedback:
  31.  
  32. ---------------------- The story continues ----------------:-
  33.  
  34. QBATCH has been totally revamped since the last release.  This was done
  35. in the light of difficulties experienced by several people in trying to
  36. compile and install it on their systems.  QBATCH is now far more easily
  37. configured for the target platform, and some previously hard-wired
  38. facilities have been made configurable.
  39.  
  40. All (I hope) areas where different platforms provide differing support
  41. have been moved to a new file config.c.  Which of each of the various
  42. options is used is determined by defines in config.h. (file locking,
  43. signal handling, and process group handling).
  44.  
  45. Configuration options for QBATCH itself (the paths for the spool files 
  46. and the queues themselves) are contained in the first few lines of
  47. qbatch.h.
  48.  
  49. Support for systems that can't exec scripts (containing #!/bin/sh for
  50. example). Now qp reads the first line of the jcl file and execs the
  51. program stated therein, instead of the file itself.
  52.  
  53. The shell under which the batch job is run can be specified when
  54. submitting the job using the -s<shell> option, thus allowing for
  55. example 'js -s/usr/local/bin/perl -n <jobname> <queue> <jclfile>'
  56. Originally, the batch shell used was always the bourne shell. 
  57. (this is still the default).
  58.  
  59. Environment variables can be prevented from being passed to the batch
  60. job.  By default, all environment variables in force when a job is
  61. submitted are passed through, and form part of the environment of the
  62. running job.  Now, if a .qxenv file exists in the same directory as the
  63. queues themselves, then any non- blank lines (not starting with '#')
  64. are taken to contain (one per line) the names of environment variables
  65. which are NOT to be passed to the batch job.
  66.  
  67.  
  68. A. D. Saunders August 30 1991
  69.  
  70. ----------------------------------------------------------------------
  71.  
  72. September 18 1991:
  73.  
  74. Much work has been carried out resolving porting problems .. current release
  75. incorporates these changes.
  76.  
  77. Thanks to:
  78.  
  79. Chris Metzler (metzler@elvis.physics.lsa.umich.edu)
  80. (Port to Stardent S5000)
  81.  
  82. John Whitley  (G.W. Systems ltd., Tring Herts UK.)
  83. (Ports to I386 architecture and HP/UX)
  84.  
  85. ..ADS.
  86.  
  87. September 23 1991:
  88.  
  89. A degree of profile timing has been introduced, real (wall clock),
  90. user and system times taken by queued jobs are now reported in the
  91. monitor, and a summary report may be requested with the (new) -s option
  92. of qf.  This reports the totals of each time, and the average per job.
  93.  
  94. ..ADS
  95.  
  96. October 3 1991
  97.  
  98. Profile timing extended to include queueing time (time on queue before
  99. processing).
  100.  
  101. Caught a race condition bug (and learnt a bit more about mandatory and
  102. advisory file locking!!) js was telling qp that a job was available
  103. before unlocking the queue. qp was receiving the signal but couldn't
  104. open the queue to get the job.
  105. (Thanks to John Whitley for this one)
  106.  
  107. Implemented code which should (?) prevent qp being initialised twice 
  108. for the same queue. removed -r (restart) option from qp.
  109.  
  110. Implemented code to allow optional queues to have "NONE" as the default
  111. monitor.  In these cases js will now fail if the queue has "NONE" for
  112. the monitor and the user submitting the job has not specified a 
  113. monitor on the command line, and their MONITOR environment variable
  114. is not set.
  115.  
  116. modified qf to look for the environment variable if default monitor
  117. is "NONE".
  118.  
  119. Modified qc to allow changes to existing queues (priority, monitor etc.)
  120.  
  121. Modified js to replace the default shell with the first line in
  122. .<queuename>rc (fixed context queues) if it is of the form:
  123. #!<pathspec> [options]
  124. and if the -s option is not used.
  125.  
  126. Tarted up documentation, rehashed man pages to account for above changes.
  127.  
  128. Released current version as beta release to local sites.
  129.  
  130. ..ADS
  131.  
  132. 9 October 1991 bug js coredumps for fixed context queues where
  133. #QCONTEXT is defined. Discovered a 'feature':-) in Sun's 
  134. implementation re XPG3 (tm). the core dump was at the following:
  135.  
  136. i = sscanf (buff, "%s %d %d", rcmd, &jobuid, &jobgid);
  137.  
  138. If jobuid and jobgid are defined (per X-OPEN) as uid_t, and gid_t,
  139. it results in a bus error!
  140.  
  141. bug fixed by using a pair of ints for the sscanf, and moving them
  142. to job[ug]id.
  143.  
  144. 16 October 1991 ..
  145. Added -n option to qf to get the priority or nice value.
  146. Added -l option to qf to list summary of flags.
  147. Added qt program to test queue flags.
  148. added qa script to list queues available to a user.
  149. Brought man pages up to date.
  150.  
  151. ..ADS
  152.  
  153. 31 October 1991
  154. Wrote documentation... This is preliminary, and not formatted.
  155. My knowledge of [nt]roff is limited to the creation of man pages,
  156. and my knowledge of [La]TeX is even less.... Any volunteers?
  157.  
  158. ..ADS
  159.