Log in | 
 
                
                    
                   Monitoring and Restarting ZopeThis Perl script is Windows specific. There are times when your Zope is just not working correctly. Here is a simple way to monitor your Zope. It asks for a HEAD from the server at $url every $delay seconds. When it can't get a response, it restarts the service. 
use LWP::Simple;
use Win32::Service;
my $machine = 'Server';
my $service= 'Zope';
my $file='d:\logs\zope.log';
my $url = 'http://Server';
my $delay = 30;
while (1) {
    &test;
    sleep $delay;
}
sub test {
    if (!head($url)) { 
      open(LOG, ">>$file");
      print LOG "**********Down\n"; 
      print LOG scalar(localtime), "\n";
      close LOG;
      
      &restart;
    } else {
      print "ok\n";
    }
}
sub restart {
    Win32::Service::StopService($machine,$service);
    Win32::Service::StartService($machine,$service);
}
                    
                     |