Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_unix/sys/man/8/qer – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
.TH QER 8 
2
.SH NAME
3
qer, runq \- queue management for spooled files
4
.SH SYNOPSIS
5
.B qer
6
[
7
.B -q
8
.I subdir
9
]
10
[
11
.B -f
12
.I file
13
]
14
.I root tag reply args
15
.br
16
.B runq
17
[
18
.B -adsER
19
]
20
[
21
.B -f
22
.I file
23
]
24
[
25
.B -q
26
.I subdir
27
]
28
[
29
.B -l
30
.I load
31
]
32
[
33
.B -t
34
.I time
35
]
36
[
37
.B -r
38
.I nfiles
39
]
40
[
41
.B -n
42
.I nprocs
43
]
44
.I root cmd
45
.SH DESCRIPTION
46
.I Qer
47
creates a control and a data file in a queue directory.
48
The control file contents consist of the
49
.IR tag ,
50
.IR reply ,
51
and
52
.I args
53
separated by spaces.
54
The data file contains the standard input to
55
.IR qer .
56
The files are created in the directory
57
.IR root / subdir ,
58
where
59
.I subdir
60
is the argument to
61
.B -q
62
if present, else the contents of
63
.BR /dev/user .
64
The names of the control and data files differ only
65
in the first character which is `C' and `D' respectively.
66
.IR Mktemp (2)
67
is used to create the actual names of the control and
68
data file.
69
.P
70
Some commands, such as
71
.I fax
72
(see
73
.IR telco (4)),
74
must queue more files than just the data file.
75
Each
76
.I file
77
following a
78
.B \-f
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.
83
.P
84
.I Runq
85
processes the files queued by
86
.IR qer .
87
Without the
88
.B -a
89
option,
90
.I runq
91
processes all requests in the directory
92
.IR root / subdir ,
93
where
94
.I subdir
95
is the argument to
96
.B -q
97
if present, else the contents of
98
.BR /dev/user .
99
With the
100
.B -a
101
it processes all requests.
102
Each request is processed by executing the command
103
.I cmd
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
107
.BR E.XXXXXX .
108
.P
109
The action taken by
110
.I runq
111
depends on the return status of
112
.IR cmd .
113
If
114
.I cmd
115
returns a null status, the processing is assumed successful and the
116
control, data, and error files are removed.
117
If
118
.I cmd
119
returns an error status containing the word
120
.LR Retry ,
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.
124
.I Runq
125
uses the
126
.I reply
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.
131
.P
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.
137
The 
138
.B -E
139
flag causes all files to be reprocessed regardless of
140
the file times.
141
.P
142
The
143
.B -R
144
flag instructs
145
.I runq
146
never to give up on a failed queue job, instead leaving
147
it in the queue to be retried.
148
.P
149
The
150
.B -d
151
option causes debugging output on standard error
152
describing the progress through the queues.
153
.P
154
The
155
.B -t
156
flags specifies the number of hours
157
that retries will continue after a send
158
failure.  The default is 48 hours.
159
.P
160
The
161
.BR -r
162
flag limits the number of files that are processed in a single pass of a queue.
163
.I Runq
164
accumulates the entire directory containing a queue before processing any
165
files.  When a queue contains many files and the system does not
166
have enough memory,
167
.I runq
168
exits without making progress.  This flag forces
169
.I runq
170
to process the directory in chunks, allowing the queue to
171
be drained incrementally.  It is most useful in combination with the
172
.I -q
173
flag.
174
.P
175
The
176
.BR -s ,
177
.BR -n ,
178
and
179
.B -l
180
flags are only meaningful with the
181
.B -a
182
flag.  They control amount of parallelism that
183
is used when sweeping all of the queues.  The argument following the
184
.B -n
185
flag specifies the number of queues that are swept
186
in parallel; the default is 50.  The argument following the
187
.B -l
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
191
.IR runq .
192
The
193
.B -s
194
flag forces each queue directory to be processed by exactly
195
one instance of
196
.IR runq .
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.
200
.PP
201
.I Runq
202
is often called from
203
.IR cron (8)
204
by an entry such as
205
.IP
206
.EX
207
0,10,20,30,40,50 * * * * kremvax
208
        runq -a /mail/queue /mail/lib/remotemail
209
.EE
210
.LP
211
The entry must be a single line; it is folded here only so it fits on the page.
212
.SH FILES
213
.TF \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
214
.TP
215
.B \fIroot\fP/\fIuser\fP
216
queue directory for
217
.I user
218
.TP
219
.B \fIroot\fP/\fIuser\fP/D.XXXXXX
220
data file
221
.TP
222
.B \fIroot\fP/\fIuser\fP/C.XXXXXX
223
control file
224
.TP
225
.B \fIroot\fP/\fIuser\fP/E.XXXXXX
226
error file
227
.TP
228
.B \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX
229
secondary data files
230
.SH SOURCE
231
.B /sys/src/cmd/upas/q
232
.SH "SEE ALSO"
233
.IR mail (1)