home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff319.lzh / CNewsSrc / cnews.src.lzh / input / Flow.Diag < prev    next >
Text File  |  1980-01-01  |  3KB  |  57 lines

  1. Step 1:
  2.     UUCICO accepts files from the news feed and places them in the
  3.     /usr/spool/uucp (SPOOLDIR) directory.
  4.  
  5. Step 2:
  6.     When UUCICO is done, it fires up UUXQT before terminating.  UUXQT
  7.     reads the SPOOLDIR directory looking for files beginning with "X."
  8.     These are files that need to be executed.  A news batch will have
  9.     "rnews" on the line starting with a 'C' (the command line).  The
  10.     source file name is on the 'I' line (the input file).  That file
  11.     is opened for input by the UUXQT daemon and given to RNEWS as stdin.
  12.  
  13. Step 3:
  14.     The RNEWS program (the rnews.batch script in this directory) calls
  15.     the C program NEWSSPOOL (the newsspool.c file in this directory)
  16.     which removes the "#! cunbatch" or "#! c7unbatch" header from the
  17.     beginning of stdin (or the files given on the command line, if there
  18.     are any [that allows manually controlled unbatching]).  The NEWSSPOOL
  19.     program also moves the file into the "in.coming" directory.  There is
  20.     an option for immediately executing NEWSRUN (shell script) below.
  21.     Normally, though, this program terminates and NEWSRUN is executed
  22.     via CRON.
  23.  
  24. Step 4:
  25.     First, NEWSRUN attempts to create a lock to indicate that someone
  26.     is trying to do the unbatching of incoming news...  It performs
  27.     an "exit 0" if there is already a lock in place.
  28.  
  29. Step 5:
  30.     NEWSRUN goes through the $NEWSART/in.coming directory looking for
  31.     files (50 at a time).  It attempts to run COMPRESS -D to decompress
  32.     the file (note that this requires slightly more free space since the
  33.     compressed and uncompressed versions must both exist at the same
  34.     time for a period of time).  If COMPRESS doesn't terminate successfully
  35.     (such as the file isn't compressed or must be run through c7decode
  36.     first) then the input file is run through C7DECODE | COMPRESS -D.
  37.     And if that doesn't work either, then the news must be straight text.
  38.     Note that in both of the uncompression attempts, the input and output
  39.     files are selected by I/O redirection.
  40.  
  41. Step 6:
  42.     When a text file is finally obtained, that file is redirected into
  43.     RELAYNEWS -R -N.  The "-r" is for redirecting std{out,err} into log
  44.     files, and the "-n" specifies to create history entries for those
  45.     articles that are rejected (not too expensive unless much of what is
  46.     received is rejected).
  47.  
  48.     If the RELAYNEWS is not successful (non-zero exit status) then a mail
  49.     message is sent to $NEWSMASTER to inform him/her of the problem.
  50.  
  51. Step 7:
  52.     Finally, after each iteration through the loop for processing compressed
  53.     files, the old compressed files (and any text files) are removed.
  54.     [Perhaps the compressed file should be removed earlier to save disk
  55.     space.  After all, there's no attempt to keep it for later debugging
  56.     with RELAYNEWS when there's an unbatching error...]
  57.