about summary refs log tree commit diff
path: root/lib/presque/JobQueueHandler.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-04-14 18:12:07 +0200
committerfranck cuny <franck@lumberjaph.net>2010-04-14 18:12:07 +0200
commit85ce07481255192ae2f74ccb7887e30d42dca75a (patch)
tree93f3d1690015042344865e0cd7eb48818c3b18b8 /lib/presque/JobQueueHandler.pm
parentignore conf (diff)
downloadpresque-85ce07481255192ae2f74ccb7887e30d42dca75a.tar.gz
return a json object
Diffstat (limited to 'lib/presque/JobQueueHandler.pm')
-rw-r--r--lib/presque/JobQueueHandler.pm23
1 files changed, 13 insertions, 10 deletions
diff --git a/lib/presque/JobQueueHandler.pm b/lib/presque/JobQueueHandler.pm
index 848a8b1..65867e3 100644
--- a/lib/presque/JobQueueHandler.pm
+++ b/lib/presque/JobQueueHandler.pm
@@ -4,12 +4,17 @@ use Moose;
 extends 'Tatsumaki::Handler';
 __PACKAGE__->asynchronous(1);
 
+before [qw/get/] => sub {
+    my $self = shift;
+    $self->response->header('Content-Type' => 'application/json');
+};
+
 sub get {
     my ( $self, $queue_name ) = @_;
 
     if (!$queue_name) {
         $self->response->code(404);
-        $self->finish("queue name is missing");
+        $self->finish({error => 'queue name is missing'});
         return;
     }
 
@@ -28,15 +33,13 @@ sub get {
                         $lkey,
                         sub {
                             my $total = shift;
-                            $self->render(
-                                'job.html',
-                                {
-                                    queue      => $queue_name,
-                                    jobs       => $jobs,
-                                    job_count  => $size,
-                                    queue_size => scalar @$total
-                                }
-                            );
+                            my $stats = {
+                                queue      => $queue_name,
+                                jobs       => $jobs,
+                                job_count  => $size,
+                                queue_size => scalar @$total
+                            };
+                            $self->finish(JSON::encode_json $stats);
                         }
                     );
                 }