SwooleDbAsync.php 802 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace controllers;
  3. use Ubiquity\orm\DAO;
  4. /**
  5. * Bench controller.
  6. */
  7. class SwooleDbAsync extends \Ubiquity\controllers\Controller {
  8. public function initialize() {
  9. \Ubiquity\utils\http\UResponse::setContentType('application/json');
  10. }
  11. public function index() {
  12. $dbInstance = DAO::pool('async');
  13. $world = DAO::executePrepared('world', [
  14. 'id' => \mt_rand(1, 10000)
  15. ]);
  16. DAO::freePool($dbInstance);
  17. echo \json_encode($world->_rest);
  18. }
  19. public function query($queries = 1) {
  20. $queries = \min(\max($queries, 1), 500);
  21. $worlds = [];
  22. $dbInstance = DAO::pool('async');
  23. for ($i = 0; $i < $queries; ++ $i) {
  24. $worlds[] = (DAO::executePrepared('world', [
  25. 'id' => \mt_rand(1, 10000)
  26. ]))->_rest;
  27. }
  28. DAO::freePool($dbInstance);
  29. echo \json_encode($worlds);
  30. }
  31. }