Browse Source

Add controllers warmup (#5409)

jcheron 5 years ago
parent
commit
c3a254e796

+ 6 - 0
frameworks/PHP/ubiquity/app/config/swooleServices.php

@@ -4,6 +4,12 @@
 	"models\\Fortune" => 'pgsql',
 	"models\\Fortune" => 'pgsql',
 	"models\\World" => 'pgsql'
 	"models\\World" => 'pgsql'
 ]);
 ]);
+\Ubiquity\cache\CacheManager::warmUpControllers([
+	'controllers\\Plaintext',
+	'controllers\\Json',
+	'controllers\\SwooleDb',
+	'controllers\\SwooleFortunes'
+]);
 $swooleServer->on('workerStart', function ($srv) use (&$config) {
 $swooleServer->on('workerStart', function ($srv) use (&$config) {
 	\Ubiquity\orm\DAO::startDatabase($config, 'pgsql');
 	\Ubiquity\orm\DAO::startDatabase($config, 'pgsql');
 });
 });

+ 12 - 3
frameworks/PHP/ubiquity/app/config/workerServices.php

@@ -1,7 +1,16 @@
 <?php
 <?php
 \Ubiquity\cache\CacheManager::startProd($config);
 \Ubiquity\cache\CacheManager::startProd($config);
-\Ubiquity\orm\DAO::setModelsDatabases(["models\\Fortune"=>'pgsql',"models\\World"=>'pgsql']);
-$workerServer->onWorkerStart=function() use($config){
-	\Ubiquity\orm\DAO::startDatabase($config,'pgsql');
+\Ubiquity\orm\DAO::setModelsDatabases([
+	"models\\Fortune" => 'pgsql',
+	"models\\World" => 'pgsql'
+]);
+\Ubiquity\cache\CacheManager::warmUpControllers([
+	'controllers\\Plaintext',
+	'controllers\\Json',
+	'controllers\\WorkerDb',
+	'controllers\\WorkerFortunes'
+]);
+$workerServer->onWorkerStart = function () use ($config) {
+	\Ubiquity\orm\DAO::startDatabase($config, 'pgsql');
 };
 };
 
 

+ 8 - 8
frameworks/PHP/ubiquity/app/controllers/Db.php

@@ -1,7 +1,7 @@
 <?php
 <?php
 namespace controllers;
 namespace controllers;
 
 
-use Ubiquity\orm\DAO;
+use Ubiquity\orm\SDAO;
 use models\World;
 use models\World;
 
 
 /**
 /**
@@ -17,18 +17,18 @@ class Db extends \Ubiquity\controllers\Controller {
 	}
 	}
 
 
 	public function index() {
 	public function index() {
-		echo \json_encode((DAO::getById(World::class, [
+		echo \json_encode((SDAO::getById(World::class, [
 			'id' => \mt_rand(1, 10000)
 			'id' => \mt_rand(1, 10000)
-		], false))->_rest);
+		]))->_rest);
 	}
 	}
 
 
 	public function query($queries = 1) {
 	public function query($queries = 1) {
 		$worlds = [];
 		$worlds = [];
 		$queries = \min(\max($queries, 1), 500);
 		$queries = \min(\max($queries, 1), 500);
 		for ($i = 0; $i < $queries; ++ $i) {
 		for ($i = 0; $i < $queries; ++ $i) {
-			$worlds[] = (DAO::getById(World::class, [
+			$worlds[] = (SDAO::getById(World::class, [
 				'id' => \mt_rand(1, 10000)
 				'id' => \mt_rand(1, 10000)
-			], false))->_rest;
+			]))->_rest;
 		}
 		}
 		echo \json_encode($worlds);
 		echo \json_encode($worlds);
 	}
 	}
@@ -37,11 +37,11 @@ class Db extends \Ubiquity\controllers\Controller {
 		$worlds = [];
 		$worlds = [];
 		$queries = \min(\max($queries, 1), 500);
 		$queries = \min(\max($queries, 1), 500);
 		for ($i = 0; $i < $queries; ++ $i) {
 		for ($i = 0; $i < $queries; ++ $i) {
-			$world = DAO::getById(World::class, [
+			$world = SDAO::getById(World::class, [
 				'id' => \mt_rand(1, 10000)
 				'id' => \mt_rand(1, 10000)
-			], false);
+			]);
 			$world->randomNumber = \mt_rand(1, 10000);
 			$world->randomNumber = \mt_rand(1, 10000);
-			DAO::update($world);
+			SDAO::update($world);
 			$worlds[] = $world->_rest;
 			$worlds[] = $world->_rest;
 		}
 		}
 		echo \json_encode($worlds);
 		echo \json_encode($worlds);

+ 2 - 2
frameworks/PHP/ubiquity/app/controllers/Fortunes.php

@@ -1,7 +1,7 @@
 <?php
 <?php
 namespace controllers;
 namespace controllers;
 
 
-use Ubiquity\orm\DAO;
+use Ubiquity\orm\SDAO;
 use models\Fortune;
 use models\Fortune;
 use Ubiquity\controllers\Startup;
 use Ubiquity\controllers\Startup;
 
 
@@ -12,7 +12,7 @@ class Fortunes extends \Ubiquity\controllers\SimpleViewController {
 	}
 	}
 
 
 	public function index() {
 	public function index() {
-		$fortunes = DAO::getAll(Fortune::class, '', false);
+		$fortunes = SDAO::getAll(Fortune::class);
 		$fortunes[] = (new Fortune())->setId(0)->setMessage('Additional fortune added at request time.');
 		$fortunes[] = (new Fortune())->setId(0)->setMessage('Additional fortune added at request time.');
 		\usort($fortunes, function ($left, $right) {
 		\usort($fortunes, function ($left, $right) {
 			return $left->message <=> $right->message;
 			return $left->message <=> $right->message;