Author: spadkins
Date: Fri Nov  9 07:21:19 2007
New Revision: 10210

Modified:
   p5ee/trunk/App-WorkQueue/lib/App/WorkQueue/Repository.pm

Log:
we hope fixing the out of whack throttles

Modified: p5ee/trunk/App-WorkQueue/lib/App/WorkQueue/Repository.pm
==============================================================================
--- p5ee/trunk/App-WorkQueue/lib/App/WorkQueue/Repository.pm    (original)
+++ p5ee/trunk/App-WorkQueue/lib/App/WorkQueue/Repository.pm    Fri Nov  9 
07:21:19 2007
@@ -309,6 +309,8 @@
     my $status_attrib = $self->{status_attrib};
     my $STATUS_ACQUIRED = $self->{STATUS_ACQUIRED};
     my ($resource_counts, $resource_key, $release_without_acquire);
+    $resource_counts = $self->_resource_counts();
+    $resource_key = $self->_resource_key($entry);
     if ($self->{type} eq "ARRAY") {
         my $colidx = $self->_colidx();
         my $status_idx = $colidx->{$status_attrib};
@@ -322,10 +324,9 @@
         }
     }
     if ($release_without_acquire) {
-        $resource_counts = $self->_resource_counts();
-        $resource_key = $self->_resource_key($entry);
         $resource_counts->{total}{$resource_key}--;
     }
+    ### TODO: figure out why $released is ever false, causing constraint issues
     my $released = $self->_release_in_mem($entry, $columns, $values);
     if ($released) {
         $resource_counts->{buffer}{$resource_key}-- if 
($release_without_acquire);
@@ -333,6 +334,7 @@
     }
     else {
         $released = $self->_release_in_db($entry,$columns,$values);
+        $resource_counts->{total}{$resource_key}-- if 
(!$release_without_acquire);
     }
     $self->print() if ($self->{verbose});
     &App::sub_exit($released) if ($App::trace);

Reply via email to