HP3000-L Archives

September 2013, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Craig Lalley <[log in to unmask]>
Reply To:
Craig Lalley <[log in to unmask]>
Date:
Thu, 5 Sep 2013 08:30:17 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (173 lines)
Someone was playing with the SETCLOCK command?

-Craig

Sent from my iPad

On Sep 5, 2013, at 8:24 AM, "James B. Byrne" <[log in to unmask]> wrote:

> Ten years ago I wrote a master scheduler job to automate our routine
> job submissions.  With minor additions it has run without evident
> flaws.  However, this past July month end the scheduler streamed the
> month-end jobs 24 hours early.  A problem that has just been brought
> to my attention by our very irritated chief accountant.
> 
> I have reviewed the code and I cannot see where the problem lies. 
> Neither can I envisage any external cause for the 24 hour variance
> from the expected behaviour.  The master scheduler reported streaming
> the job at the wrong time so the time values used by the process
> reflect the actual system time shown by the STDLISTs.
> 
> The actual scheduling log entries in the master job control STDLIST
> look like this:
> 
> . . .
> !
> !COMMENT
> !COMMENT ### JOB submission ###
> !COMMENT           JOB Name: MEAC1307,JOBBER.HARTLYNE
> !COMMENT        Streamed at: 20130731000000300
> !COMMENT Template file used: MEACTEMP.JOB.HARTLYNE
> !COMMENT Template starts at: Line 21
> !
>  #J1277
> !
> !COMMENT
> !COMMENT ### JOB submission ###
> !COMMENT           JOB Name: MEND1307,JOBBER.HARTLYNE
> !COMMENT        Streamed at: 20130731000003100
> !COMMENT Template file used: MENDTEMP.JOB.HARTLYNE
> (2232/2774) Continue?
> !COMMENT Template starts at: Line 21
> !
>  #J1278
> . . .
> 
> The STDLIST spool files from these jobs have these characteristics:
> 
> SPOOLID    JOBNUM   FILEDES  PRI COPIES DEV      STATE  RSPFN OWNER
>           FORMID   JOBNAME      COPSRM SECTS    RECS   PAGES DATE    
> TIME
> 
> #O172804   J1278    $STDLIST   1      1 LP       READY       
> JOBBER.HARTLYNE
>                    MEND1307          1 112      766      ~13 07/31/13
> 01:12
> 
> #O172803   J1277    $STDLIST   1      1 LP       READY       
> JOBBER.HARTLYNE
>                    MEAC1307          1 112      763      ~13 07/31/13
> 01:20
> 
> We use a single thread queue for these jobs so the date and time
> correspond closely enough to that reported in the STDLIST that a
> problem with the system clock does not seem to be an issue. If so then
> the problem lies in the actual scheduling code of the master job. 
> That code runs inside a while loop that never ends:
> 
> . . .
> 
> !COMMENT Initialize the Loop time marker
> !SETVAR HL_LOOP 0000
> !
> !COMMENT Begin infinite loop for main segment of control job
> !
> !WHILE  (BOUND(HL_LOOP)) DO
> !
> !COMMENT Set nominal time for this loop
> !SETVAR HL_HHMM HPHOUR * 100 + HPMINUTE
> !
> !COMMENT Set these variables based on the current date on the
> !COMMENT first pass through the loop and at midnight thereafter
> !IF HL_LOOP = 0000 THEN
> !  SETVAR HL_WOM ((HPDATE / 7) + 1)
> !  SETVAR HL_WOY ((HPDOY / 7) + 1)
> !  SETVAR HL_YYMM STR('!HPYYYYMMDD',3,4)
> !ENDIF
> 
> . . .
> 
> !COMMENT Stream the monthend jobs at 22:30 on monthend
> !
> !IF     HPDATE > 27                                                &
> !  AND  HL_HHMM = 2230 THEN
> !
> !  IF    (NOT(BOUND(HLJOB_MENDA_FLAG))) OR                         &
> !        HLJOB_MENDA_FLAG <> "!HPYYYYMMDD!HL_HHMM" THEN
> !
> !    SETVAR HL_LAST_DOM FALSE
> !    XEQ *LASTDOM
> !    IF HL_LAST_DOM = TRUE THEN
> !
> !      SETVAR HLJOB_MENDA_NAME "MEAC" + "!HL_YYMM"
> !      XEQ *JOBSTRM "![HLJOB_MENDA_USER]",                         &
> !                   "![HLJOB_MENDA_NAME]",                         &
> !                   "![HLJOB_MENDA_FILE]",                         &
> !                    ![HLJOB_MENDA_BEGN],                          &
> !                   "![HLJOB_CARD]"
> !
> !      SETVAR HLJOB_MENDN_NAME "MEND" + "!HL_YYMM"
> !      XEQ *JOBSTRM "![HLJOB_MENDN_USER]",                         &
> !                   "![HLJOB_MENDN_NAME]",                         &
> !                   "![HLJOB_MENDN_FILE]",                         &
> !                    ![HLJOB_MENDN_BEGN],                          &
> !                   "![HLJOB_CARD]"
> !
> !      SETVAR HLJOB_MENDA_FLAG "!HPYYYYMMDD!HL_HHMM"
> !    ENDIF
> !  ENDIF
> !ENDIF
> !
> !
> !COMMENT End of master controller WHILE loop. Set time of loop
> !COMMENT to time of this pass
> !IF HL_LOOP <> HL_HHMM THEN
> !SETVAR HL_LOOP
> !HL_HHMM
> !ENDIF
> !
> !COMMENT Wait 20 seconds, 1 minute pause is too coarse a time interval
> !  PAUSE 20
> !ENDWHILE
> 
> 
> The last day of month calculator looks like this:
> 
> :PRINT *LASTDOM
> setvar HL_LAST_DOM FALSE
> # Determine if "today" is the last day of the month.
> if not hpleapyear then
>   setvar _eom_ "31,28,31,30,31,30,31,31,30,31,30,31"
> else
>   setvar _eom_ "31,29,31,30,31,30,31,31,30,31,30,31"
> endif
> if "!hpdate" = word("![_eom_]",,hpmonth) then
>    setvar HL_LAST_DOM TRUE
>    setvar HL_MONTHEND_CALL str("!HPDATETIME",1,8)
>    deletevar _eom_
> else
>    if bound(HL_MONTHEND_CALL) then
>       deletevar HL_MONTHEND_CALL
>    endif
> endif
> 
> The difficulty can exist in one of only two places: the LASTDOM
> routine or the actual IF THEN conditional for the entire monthend job
> submission routine.  Does anyone see why this code would execute
> before 22:30 on July 31 instead of after?
> 
> 
> -- 
> ***          E-Mail is NOT a SECURE channel          ***
> James B. Byrne                mailto:[log in to unmask]
> Harte & Lyne Limited          http://www.harte-lyne.ca
> 9 Brockley Drive              vox: +1 905 561 1241
> Hamilton, Ontario             fax: +1 905 561 0757
> Canada  L8E 3C3
> 
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2