xref: /original-bsd/usr.bin/uucp/vms/uuxqt.com (revision 460516e7)
1$ !
2$ ! Deal with requests for UUXQT
3$ !
4$ set noon
5$ set proc/prio=4
6$ set prot=w:re/default
7$ !
8$ UUXQT_DIR = "e$disk:[eunice.usr.lib.uucp]"
9$ UUXQT_EXECUTE_DIR = "e$disk:[eunice.usr.spool.uucp]"
10$ UUXQT_QUEUE = "SYS$SPECIAL"
11$ UUXQT_RESUBMIT_PERIOD = "TOMORROW"
12$ uuxqt:==$'UUXQT_DIR'uuxqt uuxqt
13$ !
14$ ! If there is a problem go tell the Boss
15$ on error then $ goto error_mail
16$ !
17$ ! Delete JOBID file (means JOB running)
18$ delete 'UUXQT_DIR'uuxqt.jid;*
19$ UUXQT_Command:=""
20$ UUXQT_CMD_FILE = F$SEARCH(UUXQT_DIR + "uuxqt.dat;*")
21$ open/read/error=NO_COMMAND_FILE cmd_file 'UUXQT_DIR'uuxqt.dat
22$ read cmd_file UUXQT_Command /end=EMPTY_COMMAND_FILE
23$EMPTY_COMMAND_FILE:
24$ close cmd_file
25$ !
26$ ! Delete all UUXQT command files
27$ UUXQT_CMD_FILES = UUXQT_CMD_FILE - F$PARSE(UUXQT_CMD_FILE,,,"VERSION") + ";*"
28$ delete 'UUXQT_CMD_FILES'
29$ !
30$ NO_COMMAND_FILE:
31$ assign nla0: sys$print	! Keep those log file coming in	!!???!!
32$ set default 'UUXQT_EXECUTE_DIR'
33$ uuxqt 'UUXQT_Command'		!Run UUXQT
34$ status = $status
35$ goto resubmit
36
37$error_mail:
38$ set noon	! Push through regardless...
39$ count = 0
40$ subject = ""
41$mail_error:
42$ on error then $ goto mail_error
43$ set noon
44$ if count .gt. 10 then $ exit %X114
45$ status = $STATUS
46$ subject = subject + F$LOG("SYS$NODE")
47$ subject = subject + "UUXQT error: " + F$STRING(STATUS)
48$ subject = subject + " = "
49$ subject = subject + F$MESSAGE(STATUS)
50$ subject = subject + " " + UUXQT_COMMAND
51$ dis_list = UUXQT_DIR + "Disaster.DIS"
52$ dis_list = F$PARSE(dis_list)
53$ if dis_list .eqs. "" then $ dis_list = "SYSTEM"
54$ dis_list = F$SEARCH(dis_list)
55$ if dis_list .eqs. "" then $ dis_list = "SYSTEM"
56$ if F$LOCATE(".DIS",DIS_LIST) .lt. F$LENGTH(DIS_LIST) then -
57	$ dis_list = "@" + dis_list
58$ MAIL NL: "''DIS_LIST'" /Subject="''subject'"
59$ if .not. $status then $ MAIL nl: SYSTEM -
60	/subject="UUXQT error mailing error ''STATUS' / ''$status'"
61$ !
62$resubmit:
63$ if status then $ purge sys$login:uuxqt.log/keep=2
64$ uuxqt_command = "submit"
65$ ! Submit the job again later (Delta = defined above)
66$ assign 'UUXQT_DIR'uuxqt.jid sys$output
67$ submit 'UUXQT_DIR'uuxqt -
68	/after="''UUXQT_RESUBMIT_PERIOD'" -
69	/queue='UUXQT_QUEUE' /keep/NOPRINT
70$ status = $status
71$ deassign sys$output
72$ !
73$ if status then $ exit
74$ if count .gt. 3 then $ exit
75$ count = count + 1
76$ subject = "Requeue Error:"
77$ goto mail_error
78$ exit
79