glenda.party
term% ls -F
term% cat index.txt
QER(8)                      System Manager's Manual                     QER(8)

NAME
       qer, runq - queues management for spooled files

SYNOPSIS
       qer root tag reply args
       runq [ -ad ] root cmd

DESCRIPTION
       Qer  creates  a control and a data file in a queue directory.  The con‐
       trol 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/user, where user is the  contents  of
       /dev/user.  Mktemp(2) is used to create the actual names of the control
       and data file.

       Runq  processes  the  files queued by qer.  Without the -a option, runq
       processes all requests in the directory root/user, where  user  is  the
       contents  of  /dev/user.   With the -a it processes all requests.  Each
       request is processed by executing the command cmd with the contents  of
       the control file as its arguments, the contents of the data file as its
       standard input, and standard error appended to the error file E.XXXXXX.

       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 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 -d option causes debugging output on standard error describing  the
       progress through the queues.

       Runq is often called from cron(8) by an entry such as

              0,10,20,30,40,50 * * * * kremvax
                      runq -a /mail/queue /mail/lib/remotemail

       The  entry  must be a single line; it is folded here only so it fits on
       the page.

FILES
       root/user
              queue directory for user

       root/user/D.XXXXXX
              data file

       root/user/C.XXXXXX
              control file

       root/user/E.XXXXXX
              error file

SOURCE
       /sys/src/cmd/upas/q

SEE ALSO
       mail(1)

                                                                        QER(8)