Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DSPOOLOUT(8)		     System Manager's Manual		    DSPOOLOUT(8)

NAME
     dspoolout - Diablo program to sequence and flush outbound queue files

SYNOPSIS
     dspoolout	[ -q ] [ -v ] [ -n ] [ -s minutes ] [ -m maxrun ] [ -T txbufsize
     ] [ -R rxbufsize ] [ -B ip ] [ -f configfile ] [ label ]

DESCRIPTION
     DSpoolout reads the dnntpspool.ctl file and applies a  sequence  number  to
     the  outbound  queue  files  maintained  by diablo in the dqueue directory.
     This involves renaming each queue file then running a dicmd to flush  them.
     DSpoolout is normally run from cron once every 5 minutes.	The control file
     tells  DSpoolout  how  many  queue files to maintain for any given outbound
     feed and how many dnewslink processes to run in parallel for each	outbound
     feed.   The  default is 2, and may be changed by the -m maxrun option.  The
     dnewslink program itself is able to process multiple  queue  files  in  se-
     quence,  and  judicious  use  of  flock() prevents collisions when multiple
     processes are run on the same range of sequence numbers.  DSpoolout manages
     the whole affair.	DSpoolout can also run smart based on whether the  feeds
     are  able to stay caught up.  The -s minutes option tells DSpoolout how of-
     ten to sequence out a new outbound queue file and	(potentially)  run  more
     dnewslinks  when the feed is unable to stay caught up with our queue files.
     If the feed is able to stay caught up, the option is ignored and  DSpoolout
     attempts  to  handle the feed every time it is run.  This allows you to re-
     duce the requeueing latency between incoming and outgoing feeds  for  those
     feeds able to handle your article rate without overloading the machine when
     you have many feeds.

     The  -B  option  causes  DSpoolout  to  pass  the	specified  IP address to
     dnewslink, specifying the local address to be used for  all  outbound  NNTP
     sessions.

     The  -n option causes dspoolout to flush and rotate the queue files without
     executing any dnewslink's.

     An optional queue label may be specified to restrict dspoolout's  operation
     to a single entry.  Otherwise, all entries are run.

     -f  configfile  Specify  a configuration file other then dspoolout.ctl.  If
     the configuration file is not an  absolute  path,	diablo's  news	home  is
     prepended to it.

     The  -T  and  -R  options	set the transmit and receive TCP buffer size for
     dnewslink.  The defaults are usually ok, but if you want to be  frugal  you
     can usually reduce the receive buffer size without blowing the efficiency.

     It  is  suggested,  however,  that you run DSpoolout from cron no more then
     once every 5 minutes.  Heavy backbone transit points with lots of	cpu  cy-
     cles  can	get  away  with running DSpoolout every 2 minutes if they really
     want to, in which case the -s option really comes in handy.  A typical news
     path of 8 elements will propogate in 5x8 = 40 minutes with a 5 minute queue
     run, and 16 minutes with a 2 minute queue run.

     Many people proscribe real-time feeds.  Diablo  tries  to	avoid  real-time
     feeds  for  two reasons:  First, they add complexity to the main server and
     the additional system calls slow it down.	Second, real time feeds can lead
     to a false sense of security and efficiency.  While it is true that a real-
     time feed will make better use of the kernel file cache then a queued feed,
     very few news servers can dependably rely on this to  maintain  their  feed
     rates...  they  MUST  be designed to handle article delays and failures.  A
     server running too close to the edge will experience a NASTY cascade  fail-
     ure  if  it  relies on the efficiency of the real time feed to maintain the
     article feed rate.

REALTIME FEEDS
     DSpoolout is capable of maintaining  a  dnewslink	on  designated	realtime
     feeds.   A  feed is specified as being realtime by using the 'realtime' op-
     tion in the dnntpspool.ctl file (see the sample dnntpspool.ctl file).  This
     is really only a near-real-time capability, since Diablo buffer's writes to
     outgoing queue files.  For a nominal full feed, the delay is  approximately
     5 seconds.

     The  way  it works is as follows:	dspoolout starts a dnewslink with the -r
     option on the active outgoing feed file.  DSpoolout also operates normally,
     attempting to start dnewslinks on any existing queue files up to  a  speci-
     fied limit.  When dspoolout is next run, it flushes and rotates as per nor-
     mal.   The  dnewslink -r sitting on the active file will get it renamed out
     from under.  It detects this condition and closes/reopens	the  new  active
     file as well as aattempts to remove the old one if it has finished process-
     ing it and no errors occured.

SEE ALSO
     diablo(8),  dicmd(8),  didump(8),	diload(8),  dnewslink(8), doutq(8), dex-
     pire(8), dexpireover(8), diconvhist(8), dilookup(8), dspoolout(8),  dkp(8),
     dpath(8), diablo-kp(5), diablo-files(5)

								    DSPOOLOUT(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dspoolout&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help