Browse Source

use newer mojolicious defaults, remove config file dance

Joel Berger 9 years ago
parent
commit
a8d9948695

+ 0 - 7
frameworks/Perl/mojolicious/app.conf

@@ -1,7 +0,0 @@
-{
-  database_host => $ENV{DBHOST},
-  hypnotoad_merge => {
-    workers => 2*`nproc`,
-  },
-};
-

+ 14 - 18
frameworks/Perl/mojolicious/app.pl

@@ -1,30 +1,26 @@
 use Mojolicious::Lite;
 use Mojolicious::Lite;
 use Mojo::Pg;
 use Mojo::Pg;
 
 
-use JSON::XS 'encode_json';
+use Cpanel::JSON::XS 'encode_json';
 use Scalar::Util 'looks_like_number';
 use Scalar::Util 'looks_like_number';
 
 
 # configuration
 # configuration
 
 
-plugin Config => {
-  file => 'app.conf',
-  default => {
-    database_host => 'localhost',
-    hypnotoad => {
-      graceful_timeout => 1,
-      workers => 8,
-    },
-    hypnotoad_merge => {},
-  },
-};
-
 {
 {
-  my $merge = app->config->{hypnotoad_merge};
-  @{app->config->{hypnotoad}}{keys %$merge} = values %$merge;
+  my $nproc = `nproc`;
+  app->config(hypnotoad => {
+    accepts => 0,
+    clients => int( 256 / $nproc ) + 1,
+    graceful_timeout => 1,
+    requests => 10000,
+    workers => $nproc,
+  });
 }
 }
 
 
-
-helper pg => sub { state $pg = Mojo::Pg->new('postgresql://benchmarkdbuser:benchmarkdbpass@' . shift->config->{database_host} . '/hello_world') };
+{
+  my $db_host = $ENV{DBHOST} || 'localhost';
+  helper pg => sub { state $pg = Mojo::Pg->new('postgresql://benchmarkdbuser:benchmarkdbpass@' . $db_host . '/hello_world') };
+}
 
 
 helper render_json => sub {
 helper render_json => sub {
   my $c = shift;
   my $c = shift;
@@ -80,7 +76,7 @@ helper 'render_query' => sub {
   foreach (1 .. $q) {
   foreach (1 .. $q) {
     my $id = int rand 10_000;
     my $id = int rand 10_000;
     my $randomNumber = $db->query('SELECT randomnumber FROM World WHERE id=?', $id)->array->[0];
     my $randomNumber = $db->query('SELECT randomnumber FROM World WHERE id=?', $id)->array->[0];
-    $db->query('UPDATE World SET randomnumber=? WHERE id=?', ($randomNumber = 1 + int rand 10_000), $id) if $update; 
+    $db->query('UPDATE World SET randomnumber=? WHERE id=?', ($randomNumber = 1 + int rand 10_000), $id) if $update;
     push @$r, { id => $id, randomNumber => $randomNumber };
     push @$r, { id => $id, randomNumber => $randomNumber };
   }
   }
 
 

+ 2 - 2
frameworks/Perl/mojolicious/cpanfile

@@ -1,6 +1,6 @@
-requires 'Mojolicious', '6.02';
+requires 'Mojolicious', '6.53';
 requires 'Mojo::Pg', '1.14';
 requires 'Mojo::Pg', '1.14';
-requires 'JSON::XS', '3.01';
+requires 'Cpanel::JSON::XS', '3.01';
 requires 'EV', '4.18';
 requires 'EV', '4.18';
 
 
 recommends 'IO::Socket::IP', '0.36';
 recommends 'IO::Socket::IP', '0.36';

+ 11 - 21
frameworks/Perl/mojolicious/cpanfile.snapshot

@@ -6,6 +6,14 @@ DISTRIBUTIONS
       Canary::Stability 2006
       Canary::Stability 2006
     requirements:
     requirements:
       ExtUtils::MakeMaker 0
       ExtUtils::MakeMaker 0
+  Cpanel-JSON-XS-3.0213
+    pathname: R/RU/RURBAN/Cpanel-JSON-XS-3.0213.tar.gz
+    provides:
+      Cpanel::JSON::XS 3.0213
+    requirements:
+      ExtUtils::MakeMaker 0
+      Pod::Text 2.08
+      Pod::Usage 1.33
   DBD-Pg-3.5.3
   DBD-Pg-3.5.3
     pathname: T/TU/TURNSTEP/DBD-Pg-3.5.3.tar.gz
     pathname: T/TU/TURNSTEP/DBD-Pg-3.5.3.tar.gz
     provides:
     provides:
@@ -130,14 +138,6 @@ DISTRIBUTIONS
       IO::Socket 0
       IO::Socket 0
       Socket 1.97
       Socket 1.97
       Test::More 0.88
       Test::More 0.88
-  JSON-XS-3.01
-    pathname: M/ML/MLEHMANN/JSON-XS-3.01.tar.gz
-    provides:
-      JSON::XS 3.01
-    requirements:
-      ExtUtils::MakeMaker 0
-      Types::Serialiser 0
-      common::sense 0
   Mojo-Pg-2.23
   Mojo-Pg-2.23
     pathname: S/SR/SRI/Mojo-Pg-2.23.tar.gz
     pathname: S/SR/SRI/Mojo-Pg-2.23.tar.gz
     provides:
     provides:
@@ -151,8 +151,8 @@ DISTRIBUTIONS
       DBD::Pg 3.005001
       DBD::Pg 3.005001
       ExtUtils::MakeMaker 0
       ExtUtils::MakeMaker 0
       Mojolicious 6.0
       Mojolicious 6.0
-  Mojolicious-6.48
-    pathname: S/SR/SRI/Mojolicious-6.48.tar.gz
+  Mojolicious-6.55
+    pathname: S/SR/SRI/Mojolicious-6.55.tar.gz
     provides:
     provides:
       Mojo undef
       Mojo undef
       Mojo::Asset undef
       Mojo::Asset undef
@@ -215,7 +215,7 @@ DISTRIBUTIONS
       Mojo::UserAgent::Transactor undef
       Mojo::UserAgent::Transactor undef
       Mojo::Util undef
       Mojo::Util undef
       Mojo::WebSocket undef
       Mojo::WebSocket undef
-      Mojolicious 6.48
+      Mojolicious 6.55
       Mojolicious::Command undef
       Mojolicious::Command undef
       Mojolicious::Command::cgi undef
       Mojolicious::Command::cgi undef
       Mojolicious::Command::cpanify undef
       Mojolicious::Command::cpanify undef
@@ -267,16 +267,6 @@ DISTRIBUTIONS
       JSON::PP 2.27103
       JSON::PP 2.27103
       Pod::Simple 3.09
       Pod::Simple 3.09
       Time::Local 1.2
       Time::Local 1.2
-  Types-Serialiser-1.0
-    pathname: M/ML/MLEHMANN/Types-Serialiser-1.0.tar.gz
-    provides:
-      JSON::PP::Boolean 1.0
-      Types::Serialiser 1.0
-      Types::Serialiser::BooleanBase 1.0
-      Types::Serialiser::Error 1.0
-    requirements:
-      ExtUtils::MakeMaker 0
-      common::sense 0
   common-sense-3.74
   common-sense-3.74
     pathname: M/ML/MLEHMANN/common-sense-3.74.tar.gz
     pathname: M/ML/MLEHMANN/common-sense-3.74.tar.gz
     provides:
     provides: