3 qer, runq \- queue management for spooled files
14 .I root tag reply args
47 creates a control and a data file in a queue directory.
48 The control file contents consist of the
54 The data file contains the standard input to
56 The files are created in the directory
62 if present, else the contents of
64 The names of the control and data files differ only
65 in the first character which is `C' and `D' respectively.
67 is used to create the actual names of the control and
70 Some commands, such as
74 must queue more files than just the data file.
79 flag is copied into the queue directory. The names
80 of the copies differ from the name of the data file
81 only in the first character. The first one is
82 starts with 'F', the second 'G', etc.
85 processes the files queued by
91 processes all requests in the directory
97 if present, else the contents of
101 it processes all requests.
102 Each request is processed by executing the command
104 with the contents of the control file as its arguments,
105 the contents of the data file as its standard input, and
106 standard error appended to the error file
111 depends on the return status of
115 returns a null status, the processing is assumed successful and the
116 control, data, and error files are removed.
119 returns an error status containing the word
121 the files are left to be reprocessed at a later time.
122 For any other status, an error message is mailed
123 to the requester and the files are removed.
127 field in the control file as
128 a mail address to which to send an error notification.
129 The notification contains the contents of the control
130 file to identify the failed request.
132 To avoid reprocessing files too often, the following algorithm is used:
133 a data file younger than one hour will not be processed if its
134 error file exists and was last modified within the preceding 10 minutes.
135 A data file older than one hour will not be processed if its error
136 file exists and was last modified within the preceding hour.
139 flag causes all files to be reprocessed regardless of
146 never to give up on a failed queue job, instead leaving
147 it in the queue to be retried.
151 option causes debugging output on standard error
152 describing the progress through the queues.
156 flags specifies the number of hours
157 that retries will continue after a send
158 failure. The default is 48 hours.
162 flag limits the number of files that are processed in a single pass of a queue.
164 accumulates the entire directory containing a queue before processing any
165 files. When a queue contains many files and the system does not
168 exits without making progress. This flag forces
170 to process the directory in chunks, allowing the queue to
171 be drained incrementally. It is most useful in combination with the
180 flags are only meaningful with the
182 flag. They control amount of parallelism that
183 is used when sweeping all of the queues. The argument following the
185 flag specifies the number of queues that are swept
186 in parallel; the default is 50. The argument following the
188 flag specifies the total number of queues that are being swept.
189 By default, there is no limit. The number of active sweeps
190 is cumulative over all active executions of
194 flag forces each queue directory to be processed by exactly
197 This is useful on systems that connect to slow
198 external systems and prevents all the queue sweeps from
199 piling up trying to process a few slow systems.
207 0,10,20,30,40,50 * * * * kremvax
208 runq -a /mail/queue /mail/lib/remotemail
211 The entry must be a single line; it is folded here only so it fits on the page.
213 .TF \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
215 .B \fIroot\fP/\fIuser\fP
219 .B \fIroot\fP/\fIuser\fP/D.XXXXXX
222 .B \fIroot\fP/\fIuser\fP/C.XXXXXX
225 .B \fIroot\fP/\fIuser\fP/E.XXXXXX
228 .B \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
231 .B /sys/src/cmd/upas/q