From d6023a7adee17628e0ec4bad02e10199c1165bdb Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Wed, 27 Mar 2002 11:21:50 +0000 Subject: Initial version git-svn-id: svn://svn.rockbox.org/rockbox/trunk@34 a1c6a512-1295-4272-9138-f99709370657 --- www/index.cgi | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 www/index.cgi (limited to 'www/index.cgi') diff --git a/www/index.cgi b/www/index.cgi new file mode 100755 index 0000000000..a340a2e5ac --- /dev/null +++ b/www/index.cgi @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +# A very simple load balancing script: +# If more than $nlim hits in under $tlim seconds, redirect to $mirror. +# +# 2002-01-24 Björn Stenberg + +# redirect is triggered by more than: +$nlim = 10; # accesses in... +$tlim = 10; # seconds +$mirror = "http://rockbox.sourceforge.net/bjorn.haxx.se/rockbox/"; + +open FILE, "+<.load" or die "Can't open .load: $!"; +flock FILE, LOCK_EX; +@a = ; +if ( scalar @a > $nlim ) { + $first = shift @a; +} +else { + $first = $a[0]; +} +$now = time(); +@a = ( @a, "$now\n" ); +truncate FILE, 0; +seek FILE, 0, 0; +for ( @a ) { + print FILE $_; +} +flock FILE, LOCK_UN; +close FILE; + +$diff = $now - $first; +if ( $diff < $tlim ) { + print "Location: $mirror\n\n"; +} +else { + print "Content-Type: text/html\n\n"; + open FILE, "; + close FILE; +} -- cgit