asp@cos.com (Andrew S. Partan) (04/02/88)
Does anyone have a better sendbatch script? I have the one from B news
2.11 patchlevel 14.
The guts of the sendbatch.sh script basically looks like this (assuming
that you are using ihave/sendme):
while there is a RMT or RMT.work or RMT.ihave file in /usr/spool/batch
if there is a RMT.ihave file
generate a ihave message (with inews)
else
batch up some news
end if
end while
What happens now (which I consider to be problems) is:
1) If you are getting news while the sendbatch script is
running, is you generate lots of small ihave messages.
2) Sometimes you can generate a ihave message that does not get
sent until the next sendbatch run (how this happens, I don't
know, but I suspect a timing problem with the running of
inews and the continuation of the sendbatch run).
I changed the sendbatch.sh script to the following (patch follows at
the end of this message):
while there is a RMT or RMT.work or RMT.ihave file in /usr/spool/batch
if there is a RMT.ihave file
generate a ihave message (with inews)
end if
if there is a RMT or RMT.work file
batch up some news
end if
end while
Has anyone else done something similar? Or done something else that
they consider to be 'better'? Or thinks that my changes will break
something?
Thanks,
--asp (Andrew Partan @ Corporation for Open Systems)
-- asp@cos.com or asp%cos.com@uunet.uu.net
-- {uunet, sundc, decuac, hqda-ai, hadron}!cos!asp
ASN.1 Object Identifier: "{joint-iso-ccitt mhs(6) group(6) 157}"
DISCLAIMER: Opinions expressed are not necessarily those of the
Corporation for Open Systems, its members, or any standards body.
------------------------------------
*** sendbatch.sh.ORIG Wed Mar 9 16:02:00 1988
--- sendbatch.sh Fri Apr 1 14:04:57 1988
***************
*** 67,75 ****
: make sure $? is zero
sentbytes=0
while test $? -eq 0 -a $sentbytes -le $MAXBATCH -a \
! \( \( $sentbytes -eq 0 -a -s BATCHDIR/$rmt \) -o \
! -s BATCHDIR/$rmt.work -o \
! \( -n "$DOIHAVE" -a -s BATCHDIR/$rmt.ihave \) \)
do
if test -n "$DOIHAVE" -a -s BATCHDIR/$rmt.ihave
then
--- 67,75 ----
: make sure $? is zero
sentbytes=0
while test $? -eq 0 -a $sentbytes -le $MAXBATCH -a \
! \( -s BATCHDIR/$rmt -o \
! -s BATCHDIR/$rmt.work -o \
! \( -n "$DOIHAVE" -a -s BATCHDIR/$rmt.ihave \) \)
do
if test -n "$DOIHAVE" -a -s BATCHDIR/$rmt.ihave
then
***************
*** 77,84 ****
LIBDIR/inews -t "cmsg ihave $DOIHAVE" -n to.$rmt.ctl < \
BATCHDIR/$rmt.$$
rm BATCHDIR/$rmt.$$
!
! else
(eval $ECHO; eval $CMD $COMP $C7) |
if test -s BATCHDIR/$rmt.cmd
then
--- 77,85 ----
LIBDIR/inews -t "cmsg ihave $DOIHAVE" -n to.$rmt.ctl < \
BATCHDIR/$rmt.$$
rm BATCHDIR/$rmt.$$
! fi
!
! if test -s BATCHDIR/$rmt -o -s BATCHDIR/$rmt.work
(eval $ECHO; eval $CMD $COMP $C7) |
if test -s BATCHDIR/$rmt.cmd
then