added a test to spectre at startup to make sure it can connect to each webgui site

added a spectre ping function which will be useful for monitoring services like nagios and the wremonitor
removed references to the old theme systemm
This commit is contained in:
JT Smith 2006-04-28 15:23:34 +00:00
parent 363404b598
commit 5635534b4c
7 changed files with 151 additions and 23 deletions

View file

@ -219,6 +219,8 @@ sub getOperations {
'editSettings' => 'WebGUI::Operation::Settings',
'saveSettings' => 'WebGUI::Operation::Settings',
'spectreTest' => 'WebGUI::Operation::Spectre',
'viewStatistics' => 'WebGUI::Operation::Statistics',
'makePrintable' => 'WebGUI::Operation::Style',
@ -238,21 +240,6 @@ sub getOperations {
'purchaseSubscription' => 'WebGUI::Operation::Subscription',
'redeemSubscriptionCode' => 'WebGUI::Operation::Subscription',
'addThemeComponent' => 'WebGUI::Operation::Theme',
'addThemeComponentSave' => 'WebGUI::Operation::Theme',
'deleteTheme' => 'WebGUI::Operation::Theme',
'deleteThemeConfirm' => 'WebGUI::Operation::Theme',
'deleteThemeComponent' => 'WebGUI::Operation::Theme',
'deleteThemeComponentConfirm' => 'WebGUI::Operation::Theme',
'editTheme' => 'WebGUI::Operation::Theme',
'editThemeSave' => 'WebGUI::Operation::Theme',
'exportTheme' => 'WebGUI::Operation::Theme',
'importTheme' => 'WebGUI::Operation::Theme',
'importThemeSave' => 'WebGUI::Operation::Theme',
'importThemeValidate' => 'WebGUI::Operation::Theme',
'listThemes' => 'WebGUI::Operation::Theme',
'viewTheme' => 'WebGUI::Operation::Theme',
'cancelRecurringTransaction' => 'WebGUI::Operation::TransactionLog',
'deleteTransaction' => 'WebGUI::Operation::TransactionLog',
'deleteTransactionItem' => 'WebGUI::Operation::TransactionLog',

View file

@ -255,8 +255,7 @@ sub www_runCronJob {
$session->http->setMimeType("text/plain");
$session->http->setCacheControl("none");
unless (isInSubnet($session->env->get("REMOTE_ADDR"), $session->config->get("spectreSubnets"))) {
$session->errorHandler->security("make a Spectre cron job runner request, but we're only allowed to
accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
$session->errorHandler->security("make a Spectre cron job runner request, but we're only allowed to accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
return "error";
}
my $taskId = $session->form->param("taskId");

View file

@ -0,0 +1,57 @@
package WebGUI::Operation::Spectre;
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use strict;
use WebGUI::Utility;
use POE::Component::IKC::ClientLite;
=head1 NAME
Package WebGUI::Operation::Spectre
=head1 DESCRIPTION
Operations for Spectre.
=cut
#-------------------------------------------------------------------
=head2 www_spectreTest ( )
Spectre executes this function to see if WebGUI connectivity is working.
=cut
sub www_spectreTest {
my $session = shift;
$session->http->setMimeType("text/plain");
$session->http->setCacheControl("none");
unless (isInSubnet($session->env->get("REMOTE_ADDR"), $session->config->get("spectreSubnets"))) {
$session->errorHandler->security("make a Spectre workflow runner request, but we're only allowed to accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
return "subnet";
}
my $remote = create_ikc_client(
port=>$session->config->get("spectrePort"),
ip=>$session->config->get("spectreIp"),
name=>rand(100000),
timeout=>10
);
# Can't perform this test until I get smarter. =)
#return "spectre" unless $remote;
#my $result = $remote->post_respond('admin/ping');
#return "spectre" unless defined $result;
return "success";
}
1;

View file

@ -367,8 +367,7 @@ sub www_runWorkflow {
$session->http->setMimeType("text/plain");
$session->http->setCacheControl("none");
unless (isInSubnet($session->env->get("REMOTE_ADDR"), $session->config->get("spectreSubnets"))) {
$session->errorHandler->security("make a Spectre workflow runner request, but we're only allowed to
accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
$session->errorHandler->security("make a Spectre workflow runner request, but we're only allowed to accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
return "error";
}
my $instanceId = $session->form->param("instanceId");