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	txbuf-
       size ] [	-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	direc-
       tory.   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 par-
       allel 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 sequence, and judicious use of flock() prevents
       collisions when multiple	processes are run on the  same	range  of  se-
       quence  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 often 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 han-
       dle  the	 feed every time it is run.  This allows you to	reduce the re-
       queueing	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	opera-
       tion 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 ef-
       ficiency.

       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
       cycles  can get away with running DSpoolout every 2 minutes if they re-
       ally 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 expe-
       rience  a  NASTY	 cascade failure 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'
       option 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 specified limit.  When dspoolout is	next run, it flushes  and  ro-
       tates  as per normal.  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 processing 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.0>

home | help