From 7f46a2d1f78f0d60504cfbfd24f08c222fcb1d51 Mon Sep 17 00:00:00 2001 From: wessels <> Date: Tue, 16 Apr 1996 11:23:05 +0000 Subject: [PATCH] update --- scripts/RunCache.in | 189 ++++++-------------------------------------- 1 file changed, 26 insertions(+), 163 deletions(-) diff --git a/scripts/RunCache.in b/scripts/RunCache.in index fdb526b7d6..e1cbb373c5 100644 --- a/scripts/RunCache.in +++ b/scripts/RunCache.in @@ -1,167 +1,30 @@ -#!/bin/csh -f -# -# RunCache - runs cached so that whenever it exits, it restarts. -# Must compile cached *without* the -DDAEMON flag. -# -# Usage: RunCache [cachedir] -# -# Darren Hardy, University of Colorado - Boulder, August 1994 -# -# $Id: RunCache.in,v 1.1 1996/02/22 06:23:57 wessels Exp $ -# -####################################################################### -# -# Copyright (c) 1994, 1995. All rights reserved. -# -# The Harvest software was developed by the Internet Research Task -# Force Research Group on Resource Discovery (IRTF-RD): -# -# Mic Bowman of Transarc Corporation. -# Peter Danzig of the University of Southern California. -# Darren R. Hardy of the University of Colorado at Boulder. -# Udi Manber of the University of Arizona. -# Michael F. Schwartz of the University of Colorado at Boulder. -# Duane Wessels of the University of Colorado at Boulder. -# -# This copyright notice applies to software in the Harvest -# ``src/'' directory only. Users should consult the individual -# copyright notices in the ``components/'' subdirectories for -# copyright information about other software bundled with the -# Harvest source code distribution. -# -# TERMS OF USE -# -# The Harvest software may be used and re-distributed without -# charge, provided that the software origin and research team are -# cited in any use of the system. Most commonly this is -# accomplished by including a link to the Harvest Home Page -# (http://harvest.cs.colorado.edu/) from the query page of any -# Broker you deploy, as well as in the query result pages. These -# links are generated automatically by the standard Broker -# software distribution. -# -# The Harvest software is provided ``as is'', without express or -# implied warranty, and with no support nor obligation to assist -# in its use, correction, modification or enhancement. We assume -# no liability with respect to the infringement of copyrights, -# trade secrets, or any patents, and are not responsible for -# consequential damages. Proper use of the Harvest software is -# entirely the responsibility of the user. -# -# DERIVATIVE WORKS -# -# Users may make derivative works from the Harvest software, subject -# to the following constraints: -# -# - You must include the above copyright notice and these -# accompanying paragraphs in all forms of derivative works, -# and any documentation and other materials related to such -# distribution and use acknowledge that the software was -# developed at the above institutions. -# -# - You must notify IRTF-RD regarding your distribution of -# the derivative work. -# -# - You must clearly notify users that your are distributing -# a modified version and not the original Harvest software. -# -# - Any derivative product is also subject to these copyright -# and use restrictions. -# -# Note that the Harvest software is NOT in the public domain. We -# retain copyright, as specified above. -# -# HISTORY OF FREE SOFTWARE STATUS -# -# Originally we required sites to license the software in cases -# where they were going to build commercial products/services -# around Harvest. In June 1995 we changed this policy. We now -# allow people to use the core Harvest software (the code found in -# the Harvest ``src/'' directory) for free. We made this change -# in the interest of encouraging the widest possible deployment of -# the technology. The Harvest software is really a reference -# implementation of a set of protocols and formats, some of which -# we intend to standardize. We encourage commercial -# re-implementations of code complying to this set of standards. -# -# -if ($?HARVEST_HOME == 0) then - setenv HARVEST_HOME @INSTALL_TOPDIR@ -endif - -limit coredumpsize unlimited >&/dev/null - -set path = ($HARVEST_HOME/bin $HARVEST_HOME/lib $path) -set conf = $HARVEST_HOME/lib/cached.conf - -if ($#argv == 1) then - set cachedir = "$1" -else - set cachedir = `grep ^cache_dir $conf | head -1 | awk '{print $2}'` - if (x$cachedir == x) then - set cachedir = "/tmp/cache" - endif -endif - -echo "" -echo " HARVEST_HOME = $HARVEST_HOME" -echo "Cache Configuration File = $conf" -echo " Cache Directory = $cachedir" - -# Try to find 'dnsserver' and 'ftpget' on the PATH, or as -# absolute pathnames -# -set dnsserver = `grep ^cache_dns_program $conf | awk '{print $2}'` -if (x$dnsserver == x) then - set dnsserver = 'dnsserver' -endif - -set ftpget = `grep ^cache_ftp_program $conf | awk '{print $2}'` -if (x$ftpget == x) then - set ftpget = 'ftpget' -endif - -foreach p ( cached $dnsserver $ftpget ) - echo -n " External Program: " - if ! { $p -v } then - echo "" - echo "" - echo "Unable to locate required program '$p' on the PATH." - echo "Please edit either $conf" - echo "or $0 to remedy this situation." - exit 1 - endif -end - -echo "" - -@ failcount = 0 -while (1) - if ! ( -d $cachedir ) then - echo "mkdir $cachedir"; mkdir $cachedir - endif - echo "cd $cachedir"; cd $cachedir - -# NOTE: cached -s option disables logging important messages to syslog. - - # Send a UDP announcement if enabled in the config file - # - send-announce $conf >& /dev/null - - echo "Running: cached -s -f $conf >>& cached.out" - set start=`date '+%d%H%M%S'` - cached -s -f $conf >>& cached.out - set stop=`date '+%d%H%M%S'` - @ t = $stop - $start - if ( 0 <= $t && $t < 5 ) then - @ failcount = $failcount + 1 +#!/bin/sh +# +# $Id: RunCache.in,v 1.2 1996/04/16 05:23:05 wessels Exp $ + +PATH=@prefix@/bin:/bin +export PATH + +if test $#argv = 1 ; then + conf="-f $1" + shift; +fi + +failcount=0 +while test 1 ; do + echo "Running: cached -s $conf >> cached.out 2>&1" + start=`date '+%d%H%M%S'` + cached -s $conf >> cached.out 2>&1 + stop=`date '+%d%H%M%S'` + t=`expr $stop - $start` + if test 0 -le $t -a $t -lt 5 ; then + failcount=`expr $failcount + 1` else - @ failcount = 0 - endif - if ( $failcount > 5 ) then + failcount=0 + fi + if test $failcount -gt 5 ; then echo "RunCache: EXITING DUE TO REPEATED, FREQUENT FAILURES" exit 1 - endif - + fi sleep 10 -end +done -- 2.47.2