qer, runq – queue management for spooled files|
qer [ –q subdir ] [ –f file ] root tag reply args|
runq [ –adER ] [ –f file ] [ –q subdir ] [ –t time ] [ –r nfiles ] [ –n njobs ] root cmd
Qer creates a control and a data file in a queue directory. The
control file contents consist of the tag, reply, and args separated
by spaces. The data file contains the standard input to qer. The
files are created in the directory root/subdi The names of the
control and data files differ only in the first character which
`C' and `D' respectively. Mktemp(2) is used to create the actual
names of the control and data file. |
Some commands, such as fax (see telco(4)), must queue more files than just the data file. Each file following a –f flag is copied into the queue directory. The names of the copies differ from the name of the data file only in the first character. The first one starts with 'F', the second 'G', etc.
Qer takes the following arguments:
The action taken by runq depends on the return status of cmd. If cmd returns a null status, the processing is assumed successful and the control, data, and error files are removed. If cmd returns an error status containing the word Retry, the files are left to be reprocessed at a later time. For any other status, an error message is mailed to the requester and the files are removed. Runq uses the reply field in the control file as a mail address to which to send an error notification. The notification contains the contents of the control file to identify the failed request.
To avoid reprocessing files too often, the following algorithm is used: a data file younger than one hour will not be processed if its error file exists and was last modified within the preceding 10 minutes. A data file older than one hour will not be processed if its error file exists and was last modified within the preceding hour.
The following flags are accepted by runq:
Runq is often called from cron(8) by an entry such as
root/user queue directory for user|
root/user/D.XXXXXX data file
root/user/C.XXXXXX control file
root/user/E.XXXXXX error file
root/user/[F–Z].XXXXXX secondary data files