Bio::GMOD::Admin::Monitor::WormBase - WormBase monitoring utils


Bio-GMOD documentation Contained in the Bio-GMOD distribution.

Index


Code Index:

NAME

Top

Bio::GMOD::Admin::Monitor::WormBase - WormBase monitoring utils

SYNOPSIS

Top

  my $agent = Bio::GMOD::Admin::Monitor->new(-mod => 'WormBase');

DESCRIPTION

Top

Bio::GMOD::Admin::Monitor::WormBase provides methods for WormBase administrators to monitor their installation. It provides a convenient wrapper around several Bio::GMOD::Admin::Monitor:: utilities but provides no other useful methods.

PUBLIC METHODS

Top

$agent->monitor(@options);

BUGS

Top

None reported.

SEE ALSO

Top

Bio::GMOD, Bio::GMOD::Admin::Monitor

AUTHOR

Top

Todd W. Harris <harris@cshl.org>.

Copyright (c) 2003-2005 Cold Spring Harbor Laboratory.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Bio-GMOD documentation Contained in the Bio-GMOD distribution.

package Bio::GMOD::Admin::Monitor::WormBase;

use strict;
use vars qw/@ISA/;
use Bio::GMOD::Admin::Monitor;
use Bio::GMOD::Admin::Monitor::mysqld;
use Bio::GMOD::Admin::Monitor::httpd;
use Bio::GMOD::Admin::Monitor::acedb;
use Bio::GMOD::Admin::Monitor::blat;

@ISA = qw/Bio::GMOD::Admin::Monitor/;

sub monitor {
  my ($self,@p) = @_;
  my ($apachectl,$test_url,
      $acepl,$acedb_user,$acedb_pass,
      $mysql_test_db,$mysql_initd,$mysqld_safe,

      = rearrange([qw/SITE USER PASS/],@p);

  my $adaptor = $self->adaptor;

  # httpd
  my $httpd = Bio::GMOD::Admin::Monitor::httpd->new();
  $httpd->check_status(-site => $test_url);
  $httpd->restart(-apachectl => $apachectl) if $httpd->is_down;

      # Mysqld
      my $mysqld = Bio::GMOD::Admin::Monitor::mysqld->new();
      $mysqld->check_status(-testdb => $mysql_test_db);
      $mysqld->restart(-mysqld_safe => $mysqld_safe,
		       -mysql_initd => $mysql_initd,
		       -testdb      => $mysql_test_db) if ($mysqld->is_down);

  # Acedb
  my $acedb = Bio::GMOD::Admin::Monitor::acedb->new();





  return ($mysqld,$httpd,$acedb);
}


# Restart all the various servers as necessary
sub restart_servers {
   my ($self,@p) = @_;

   # Restart blat
   my $blat   = Bio::GMOD::Admin::Monitor::blat->new();
   my ($blat_result,$blat_status) = $blat->restart();

   # restart acedb
   my $acedb  = Bio::GMOD::Admin::Monitor::acedb->new();
   my ($ace_result,$ace_status) = $acedb->restart();

   # httpd
   my $httpd  = Bio::GMOD::Admin::Monitor::httpd->new();
   my ($httpd_result,$httpd_status) = $httpd->restart();

   # mysqld
   my $mysqld = Bio::GMOD::Admin::Monitor::mysqld->new();
   my ($mysqld_result,$mysqld_status) = $mysqld->restart();
}




__END__



1;