[news.software.nntp] NEWSBIN/maint/newsdaily discards old NNTP input archives

sjg@melb.bull.oz.au (Simon J Gerraty) (02/06/91)

In <1991Feb5.022948.3952@melb.bull.oz.au> sjg@melb.bull.oz.au (Simon J. Gerraty) writes:
>This seems to apply to both NNTP and C news so I'm posting to
>both groups.

>My site gets its news feed via NNTP over a rather slow, and
>unreliable X.25 link.    I have been for some time getting
>reports from newsdaily about old input files named "nntp.annnn"
>where nnnn is the pid of the NNTP daemon that created them.

>NNTP normally converts these files to all numeric names so that
>newsrun will inject them into News.  Obviously on my system,
>NNTP is occasionally (some times frequently) terminating without
>doing this.

>As destributed newsdaily reports the names of the old input
>files and discards them.  The following patch, reports the names
>and converts them to numeric names.  In most cases the batches
>inject into News without problem.  If they end up in
>in.coming/bad you at least had a second bite at them :-)

>Perhaps it would be useful to distribute this patch (or similar)
>with NNTP as obviously not all sites use NNTP - just as not all
>sites use C news.

_Sorry_, there is an error in the patch.  Once the nntp.aXXXX file
is mv'd it is still older than one day and gets removed (how
embarrassing :-)
This is a corrected version. 
Also I decided (perhaps unwisely) to try and save nspool.aXXXX
files as well.

Also, one reader suggested that NNTP does not simply rename the
temp batches.  The NNTP-1.5.10 that I run does and then just
kicks off newsrun to do the processing.  Refer to enqueue() in
server/batch.c

*** newsdaily.orig	Mon Feb  4 16:28:41 1991
--- newsdaily	Wed Feb  6 10:48:33 1991
***************
*** 62,67 ****
--- 62,84 ----
  
  # look for input anomalies
  cd $NEWSARTS/in.coming
+ #
+ # first look for any nntp.a files that should be enqueued
+ # we have been throwing these away!
+ #
+ find . \( -name 'nntp.a*' -o -name 'nspool.a*' \) -mtime +1 -print >$tmp
+ if test -s $tmp		# old nntp archives
+ then
+ 	(
+ 		echo 'NNTP archives left about:'
+ 		cat $tmp
+ 		echo 'These have been injected to News'
+ 	) >> $gripes
+ 	# Now inject them - convert them to numeric names
+ 	# they will all appear as 6666nnnn so we can recognize them
+ 	# if they turn up in the bad batches
+ 	sed 's,.*n.*\.a\(.*\),touch &; mv & 6666\1,' $tmp | /bin/sh 
+ fi
  find . -type f -mtime +1 -print | sed 's;^\./;;' | egrep -v '^bad/' >$tmp
  if test -s $tmp		# old non-bad files lying about
  then

If you think the nspool.aXXXX bit is a bad idea leave the find
command as:
find . -name 'nntp.a*' -mtime +1 -print >$tmp
-- 
Simon J. Gerraty		<sjg@melb.bull.oz.au>

#include <disclaimer,_witty_comment>