summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-05-15 10:38:21 +0200
committerfranck cuny <franck@lumberjaph.net>2010-05-15 10:38:21 +0200
commit7b162d26bb2f54c3b0f741251677b1e407fec6b3 (patch)
tree2d1b44a8936ea9cf1f91b7ed0484327235ac817e /lib
parentadd processed and failed (diff)
downloadpresque-7b162d26bb2f54c3b0f741251677b1e407fec6b3.tar.gz
add stats about how many jobs have been processed and failed
Diffstat (limited to '')
-rw-r--r--lib/presque/JobQueueHandler.pm35
1 files changed, 18 insertions, 17 deletions
diff --git a/lib/presque/JobQueueHandler.pm b/lib/presque/JobQueueHandler.pm
index 7890b11..0df4ed7 100644
--- a/lib/presque/JobQueueHandler.pm
+++ b/lib/presque/JobQueueHandler.pm
@@ -13,28 +13,29 @@ with (
__PACKAGE__->asynchronous(1);
sub get {
- my ( $self, $queue_name ) = @_;
+ my ($self, $queue_name) = @_;
- my $key = $self->_queue($queue_name);
+ my $key = $self->_queue($queue_name);
+ my $processed = $self->_queue_processed($queue_name);
+ my $failed = $self->_queue_failed($queue_name);
- $self->application->redis->lrange(
- $key, 0, 9,
+ $self->application->redis->llen(
+ $key,
sub {
- my $jobs = shift;
- $self->application->redis->llen(
- $key,
+ my $size = shift;
+ $self->application->redis->get(
+ $processed,
sub {
- my $size = shift;
- my $lkey = $queue_name . '*';
- $self->application->redis->keys(
- $lkey,
+ my $processed_jobs = shift;
+ $self->application->redis->get(
+ $failed,
sub {
- my $total = shift;
- my $stats = {
- queue => $queue_name,
- jobs => $jobs,
- job_count => $size,
- queue_size => scalar @$total
+ my $failed_jobs = shift;
+ my $stats = {
+ queue => $queue_name,
+ job_count => $size,
+ failed => $failed_jobs,
+ processed => $processed_jobs,
};
$self->finish(JSON::encode_json $stats);
}