summaryrefslogtreecommitdiff
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
parentignore conf (diff)
downloadpresque-85ce07481255192ae2f74ccb7887e30d42dca75a.tar.gz
return a json object
-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);
}
);
}