From 7e368c329cc433a7e72ad03886cbfd46f34f106c Mon Sep 17 00:00:00 2001 From: Kaleb Murphy Date: Tue, 21 Oct 2008 21:02:57 +0000 Subject: [PATCH] Fixed workflow checks on spectre so that workflows only error if they are a non realtime or failed realtime and spectre is down. --- lib/WebGUI/Operation/VersionTag.pm | 7 ------- lib/WebGUI/VersionTag.pm | 4 +--- lib/WebGUI/Workflow/Instance.pm | 11 +++++++++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm index 125e22f80..06e41bfb0 100644 --- a/lib/WebGUI/Operation/VersionTag.pm +++ b/lib/WebGUI/Operation/VersionTag.pm @@ -307,13 +307,6 @@ sub www_commitVersionTag { my $session = shift; my $tagId = $session->form->param("tagId"); - my $spectreTest = WebGUI::Operation::Spectre::spectreTest($session); - if($spectreTest ne "success"){ - my $i18n = WebGUI::International->new($session, "Macro_SpectreCheck")->get($spectreTest); - my $ac = WebGUI::AdminConsole->new($session,"versions"); - return $ac->render( $i18n ); - } - if ( !$tagId ) { return www_manageVersions( $session ); } diff --git a/lib/WebGUI/VersionTag.pm b/lib/WebGUI/VersionTag.pm index 11ea69681..ad942f90b 100644 --- a/lib/WebGUI/VersionTag.pm +++ b/lib/WebGUI/VersionTag.pm @@ -408,8 +408,6 @@ fails. sub requestCommit { my $self = shift; - return "Failure" if(WebGUI::Operation::Spectre::spectreTest($self->session) ne "success"); - $self->lock; my $instance = WebGUI::Workflow::Instance->create($self->session, { workflowId=>$self->get("workflowId"), @@ -420,7 +418,7 @@ sub requestCommit { $self->{_data}{committedBy} = $self->session->user->userId; $self->{_data}{workflowInstanceId} = $instance->getId; $self->session->db->setRow("assetVersionTag","tagId",$self->{_data}); - $instance->start; + return $instance->start; return undef; } diff --git a/lib/WebGUI/Workflow/Instance.pm b/lib/WebGUI/Workflow/Instance.pm index 4f6985968..331777ba3 100644 --- a/lib/WebGUI/Workflow/Instance.pm +++ b/lib/WebGUI/Workflow/Instance.pm @@ -20,8 +20,8 @@ use JSON; use WebGUI::Pluggable; use WebGUI::Workflow::Spectre; use WebGUI::Workflow; - - +use WebGUI::International; +use WebGUI::Operation::Spectre; =head1 NAME Package WebGUI::Workflow::Instance @@ -527,6 +527,13 @@ sub start { $log->info('Could not complete workflow instance '.$self->getId.' in realtime, handing off to Spectre.'); my $spectre = WebGUI::Workflow::Spectre->new($self->session); $spectre->notify("workflow/addInstance", {cookieName=>$self->session->config->getCookieName, gateway=>$self->session->config->get("gateway"), sitename=>$self->session->config->get("sitename")->[0], instanceId=>$self->getId, priority=>$self->{_data}{priority}}); + + my $spectreTest = WebGUI::Operation::Spectre::spectreTest($self->session); + if($spectreTest ne "success"){ + return WebGUI::International->new($self->session, "Macro_SpectreCheck")->get($spectreTest); + } + + return undef; } 1;