diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 3326a9c85..edd29fd78 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -20,6 +20,7 @@ - fix: Security bug in session env - fix: Ldap Registration of new users (Thanks to guiuser) - fix: Missing/Incorrect POD + - Made changes to spectre to handle finished workflows better. 7.0.0 diff --git a/lib/Spectre/Workflow.pm b/lib/Spectre/Workflow.pm index bdba15bd9..45d635bfe 100644 --- a/lib/Spectre/Workflow.pm +++ b/lib/Spectre/Workflow.pm @@ -108,6 +108,10 @@ sub checkInstances { my ($kernel, $self) = @_[KERNEL, OBJECT]; $self->debug("Checking to see if we can run anymore instances right now."); if ($self->countRunningInstances < $self->config->get("maxWorkers")) { + $self->debug("Total workflows waiting to run: ".scalar(keys %{$self->{_instances}})); + $self->debug("Priority 1 count: ".scalar(@{$self->{_priority1}})); + $self->debug("Priority 2 count: ".scalar(@{$self->{_priority2}})); + $self->debug("Priority 3 count: ".scalar(@{$self->{_priority3}})); my $instance = $self->getNextInstance; if (defined $instance) { # mark it running so that it doesn't run twice at once diff --git a/lib/WebGUI/Operation/Workflow.pm b/lib/WebGUI/Operation/Workflow.pm index 31e087599..893c71068 100644 --- a/lib/WebGUI/Operation/Workflow.pm +++ b/lib/WebGUI/Operation/Workflow.pm @@ -380,6 +380,8 @@ sub www_runWorkflow { my $instance = WebGUI::Workflow::Instance->new($session, $instanceId); if (defined $instance) { return $instance->run; + } else { + return "done"; } return "complete"; }