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);