3 qer, runq \- queue management for spooled files
14 .I root tag reply args
43 creates a control and a data file in a queue directory.
44 The control file contents consist of the
50 The data file contains the standard input to
52 The files are created in the directory
54 The names of the control and data files differ only
55 in the first character which is `C' and `D' respectively.
57 is used to create the actual names of the control and
60 Some commands, such as
64 must queue more files than just the data file.
69 flag is copied into the queue directory. The names
70 of the copies differ from the name of the data file
71 only in the first character. The first one
72 starts with 'F', the second 'G', etc.
74 Qer takes the following arguments:
77 Specifies the queue subdirectory to use. If
78 unspecified, the contents of
83 Specifies the files to copy into the queue
84 directory, in the manner described above.
87 processes the files queued by
90 processes all requests in the directory
96 if present, else the contents of
98 Each request is processed by executing the command
100 with the contents of the control file as its arguments,
101 the contents of the data file as its standard input, and
102 standard error appended to the error file
107 depends on the return status of
111 returns a null status, the processing is assumed successful and the
112 control, data, and error files are removed.
115 returns an error status containing the word
117 the files are left to be reprocessed at a later time.
118 For any other status, an error message is mailed
119 to the requester and the files are removed.
123 field in the control file as
124 a mail address to which to send an error notification.
125 The notification contains the contents of the control
126 file to identify the failed request.
128 To avoid reprocessing files too often, the following algorithm is used:
129 a data file younger than one hour will not be processed if its
130 error file exists and was last modified within the preceding 10 minutes.
131 A data file older than one hour will not be processed if its error
132 file exists and was last modified within the preceding hour.
134 The following flags are accepted by runq:
137 Causes runq to process all user directories in sequence, instead
138 of only the directory of the current user.
141 Causes all files to be reprocessed regardless of
147 never to give up on a failed queue job, instead leaving
148 it in the queue to be retried.
151 Causes debugging output on standard error
152 describing the progress through the queues.
155 Specifies the number of hours
156 that retries will continue after a send
157 failure. The default is 48 hours.
160 Limits the number of files that are processed in a single pass of a queue.
162 accumulates the entire directory containing a queue before processing any
163 files. When a queue contains many files and the system does not
166 exits without making progress. This flag forces
168 to process the directory in chunks, allowing the queue to
169 be drained incrementally. It is most useful in combination with the
174 Specifies the number of queued jobs that are processed
175 in parallel from the queue; the default is 1.
176 This is useful for a large queue to be processed with a bounded
177 amount of parallelism.
185 0,10,20,30,40,50 * * * * kremvax
186 /bin/upas/runq -a /mail/queue /mail/lib/remotemail
189 The entry must be a single line; it is folded here only so it fits on the page.
191 .TF \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
193 .B \fIroot\fP/\fIuser\fP
197 .B \fIroot\fP/\fIuser\fP/D.XXXXXX
200 .B \fIroot\fP/\fIuser\fP/C.XXXXXX
203 .B \fIroot\fP/\fIuser\fP/E.XXXXXX
206 .B \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
209 .B /sys/src/cmd/upas/q