Author: spadkins
Date: Mon Aug 25 13:55:17 2008
New Revision: 11675

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

Log:
updated some error messages to be more accurate given recent code changes 
(Acquired changed to _acquire_in_mem), and also added a call to 
_maintain_queue_buffers when we call acquire, to accomodate bulk splitting

Modified: p5ee/trunk/App-WorkQueue/lib/App/WorkQueue.pm
==============================================================================
--- p5ee/trunk/App-WorkQueue/lib/App/WorkQueue.pm       (original)
+++ p5ee/trunk/App-WorkQueue/lib/App/WorkQueue.pm       Mon Aug 25 13:55:17 2008
@@ -483,6 +483,14 @@
     my $entries           = $self->{data};
 
     if ($self->num_entries() > 0 && $self->_global_resources_exist()) {
+        ### If $entries is empty, reload because new subrequests
+        ### have made it before our regular heartbeat has been scheduled,
+        ### so num_entries returns with non-zero values, but there aren't any
+        ### in buffers yet.
+        ### This used to result in the "Acquire [M]: undef" errors in the log 
file
+        if (!$entries || @$entries == 0) {
+            $self->_maintain_queue_buffers();
+        }
         if ($self->{type} eq "ARRAY") {
             my $colidx = $self->_colidx();
             my $status_idx = $colidx->{$status_attrib};
@@ -519,7 +527,7 @@
                     $dump_entry .= "entry (after _acquire_entry) : " . 
Dumper($entry);
                     $dump_entry .= "acquired[$acquired]\n";
                     if ($acquired) {
-                        $context->log({level=>3}, "$self->{name} : 
Acquired[M]: [" . join("|", $e->{shop_request_id}, $e->{subrequest_id}). "]\n");
+                        $context->log({level=>3}, "$self->{name} : 
_acquire_in_mem: [" . join("|", $e->{shop_request_id}, $e->{subrequest_id}). 
"]\n");
                         last;
                     }
                     else {
@@ -537,7 +545,9 @@
                 }
             }
         }
-        $context->log({level=>3}, "$self->{name} : Acquired[M]: undef\n") if 
(!$entry);
+        if (!$entry) {
+            $context->log({level=>2}, "$self->{name} : _acquire_in_mem: 
undef\n");
+        }
     }
 
     &App::sub_exit($entry) if ($App::trace);

Reply via email to