From: Dobrica Pavlinusic Date: Mon, 7 Mar 2011 12:11:30 +0000 (+0000) Subject: skeleton mojolicious web ui X-Git-Url: http://git.rot13.org/?p=APKPM.git;a=commitdiff_plain;h=4b188217e7d33c9d36bd16ce8ed695696b4e6bd0 skeleton mojolicious web ui --- diff --git a/web_ui.pl b/web_ui.pl new file mode 100755 index 0000000..007177e --- /dev/null +++ b/web_ui.pl @@ -0,0 +1,66 @@ +#!/usr/bin/env perl + +use Mojolicious::Lite; + +use lib '/srv/MojoX-Gearman/lib'; +use MojoX::Gearman; + +use Data::Dump qw(dump); + +# Documentation browser under "/perldoc" (this plugin requires Perl 5.10) +plugin 'pod_renderer'; + +get '/' => sub { + my $self = shift; + $self->render('index'); +}; + +get '/ping_http' => sub { + my $self = shift; + my $gearman = $self->client; + my $pong = $gearman->post( "http://localhost:4780/ping" => { Connection => 'close' } => "some data" )->res->body; + warn "ping = $pong"; + $self->render( 'ping', pong => $pong ); +}; + +my $gearman = MojoX::Gearman->new; #( ioloop => Mojo::IOLoop->singleton ); +#$gearman->server( 'localhost:4731' ); +$gearman->server( 'localhost:7003' ); + +get '/ping_g' => sub { + my $self = shift; + my $pong = $gearman->req( 'SUBMIT_JOB', 'ping', '', "some data 2" ); + warn "ping = $pong"; + $self->render( 'ping', pong => $pong ); +}; + +get '/g/:call/:args' => sub { + my $self = shift; + my $ret = $gearman->req( 'SUBMIT_JOB', $self->param('call'), '', $self->param('args') ); + warn $self->param('call'), " = ", dump($ret), "\n"; + $self->render( 'dump', dump => $ret ); +}; +app->start; +__DATA__ + +@@ index.html.ep +% layout 'default'; +% title 'Gearman demo'; +Welcome to Mojolicious Gearman integration demo! + +<%= link_to 'HTTP ping' => 'ping_http' %> +<%= link_to 'Gearman ping' => 'ping_g' %> + +@@ ping.html.ep +% layout 'default'; +pong: <%= $pong %> + +@@ dump.html.ep +% layout 'default'; +
<%= $dump %>
+ +@@ layouts/default.html.ep + + <%= title %> + <%= content %> +