You are not logged in Log in Join
You are here: Home » Members » andym » Monitoring and Restarting Zope

Log in
Name

Password

 

Monitoring and Restarting Zope

This 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);
}