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

FreeBSD Manual Pages

  
 
  

home | help
DELAYER(8)		  InterNetNews Documentation		    DELAYER(8)

NAME
       delayer - A pipe	to delay line-based input by a given time

SYNOPSIS
       some-program | delayer [--[no-]buffered]	[--delay seconds] [--store
       filename] -- some-other-program [args ...]

       Legacy calling convention:

       some-program | delayer seconds some-other-program [args ...]

DESCRIPTION
       The delayer program implements a	delaying pipe.	Lines sent to the
       standard	input of the process are spooled, and only printed to the
       standard	input of some-other-program after a certain delay time has
       passed.

       The main	use case is for	a news feed that deliberately should not
       distribute articles as soon as possible.	 One reason is giving cancel
       control articles	and NoCeM messages time	to arrive so that innd
       remembers the Message-IDs of those cancelled articles before they
       actually	arrive.	 It permits cancelling articles	before they are
       locally stored and spread to other peers.  The delay can	be set up for
       outgoing	feeds wanting that or, even better for not slowing the
       propagation of articles,	internally between a frontend instance of innd
       receiving the articles from all your peers and another local instance
       of innd fed by your frontend with a delay except	for cancels and	NoCeM
       articles.

       Another use case	is using a link	only as	a backup.

CONFIGURATION
       The steps to set	up a delayed feed using	delayer	and innfeed are:

          Choose a name for that feed,	e.g. "innfeed-delayed".

          In pathetc, copy innfeed.conf to innfeed-delayed.conf.

          Edit	innfeed-delayed.conf in	pathetc, and change the	occurrences of
	   "innfeed" to	"innfeed-delayed", typically in	the log-file, pid-file
	   and	status-file  parameters.  If these parameters are not set, you
	   should explicitly set them in innfeed-delayed.conf  so  that	 their
	   default  values do not conflict with	a running instance in parallel
	   of a	real-time feed using innfeed.  For instance:

	       log-file:    innfeed-delayed.log
	       pid-file:    innfeed-delayed.pid
	       status-file: innfeed-delayed.status

	   Using the same value	for backlog-directory in both innfeed.conf and
	   innfeed-delayed.conf	is fine	because	the site  names	 in  newsfeeds
	   are	   unique     (see     below	 with	  "news.uu.net"	   and
	   "news.uu.net-delayed").

          Possibly limit max-connections to 1.

          Only	keep in	innfeed-delayed.conf the configuration	of  the	 peers
	   which should	receive	a delayed feed.

          Add a new entry to newsfeeds	in pathetc like:

	       innfeed-delayed!\
		   :!*\
		   :Tc,Wnm*,S16384:<pathbin>/delayer --delay 300 -- \
		       <pathbin>/innfeed -c innfeed-delayed.conf

	   This	 will  delay  articles	via that feed for 300 seconds.	If the
	   intent is to	give NoCeM messages time to arrive, the	 delay	should
	   match   the	 frequency   at	  which	  they	 are   sent   in   the
	   news.lists.filters newsgroup.

          Use "innfeed-delayed!"  instead  of	"innfeed!"  in	the  newsfeeds
	   entries  for	 peers	which  should  receive a delayed feed.	If you
	   wish, you can also set up two entries  for  each  peer,  keeping  a
	   real-time  feed  through  "innfeed!"	for control articles and NoCeM
	   messages,  and  delaying  the  feed	of  other   articles   through
	   "innfeed-delayed!".

	       news.uu.net/uunet\
		   :!*,control,control.*,news.lists.filters\
		   :Tm:innfeed!

	       news.uu.net-delayed/uunet\
		   :*,!control,!control.*,@news.lists.filters\
		   :Tm:innfeed-delayed!

	   In  that  case,  be sure to use the same "news.uu.net-delayed" peer
	   name	in innfeed-delayed.conf.  Note that you	should only  configure
	   a  delayed  feed for	a remote peer if its news administrator	agrees
	   with	that (he may want a real-time feed, or	already	 have  locally
	   implemented a delay on his incoming feeds).

          Reload the newsfeeds	configuration file:

	       ctlinnd reload newsfeeds	'setting delayed feeds'

OPTIONS
       --buffered, --no-buffered
	   By  default,	 output	is buffered.  This increases the time until an
	   article is actually sent  if	 the  number  of  articles  is	small.
	   Disable  buffering  to  have	a more accurate	delay, at a price of a
	   (possibly neglectable) performance overhead.

       --delay seconds
	   Delay articles by the given amount of seconds.  Default is 60.

       --store filename
	   By default, all buffered lines are written  out  if	the  input  is
	   closed, even	if the configured delay	has not	been reached yet.

	   When	 this  flag  is	used, these lines will be written to the given
	   file	instead, to be used upon next startup.	Using an absolute path
	   name	is recommended.

       -- some-other-program [args ...]
	   -- separates	the options to delayer from the	program	the output  is
	   written  to:	 some-other-program  is	 the full path to the program,
	   optionally followed with some args parameters.

LEGACY OPTIONS
       This interface is considered legacy and will be removed some day.

       delay
	   Delay articles by the given amount of seconds.

       some-other-program [args	...]
	   The full path to the	program	the output is written  to,  optionally
	   followed with some args parameters.

BUGS
       If  the	standard input is closed (when for instance the	feed is	closed
       or restarted), all lines	in the store are printed immediately, breaking
       the contract of delaying	them, unless the --store option	is used.

       If the number of	articles in that  feed	is  rather  low	 (just	a  few
       articles	 per delay time	or less), some effects of buffering will delay
       the transmission	 even  further.	  See  the  --no-buffering  option  to
       alleviate this.

HISTORY
       Initial	  version   written   in   July	  1998	 by   Christian	  Mock
       <cm@tahina.priv.at>.

       Improved	and documented by Christoph Biedl in January 2024.

SEE ALSO
       delay(1), innfeed.conf(5), newsfeeds(5).

INN 2.8.0			  2025-05-10			    DELAYER(8)

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

home | help