server-man.php 950 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. require_once __DIR__ . '/vendor/autoload.php';
  3. use Adapterman\Adapterman;
  4. use Workerman\Worker;
  5. use Workerman\Lib\Timer;
  6. Adapterman::init();
  7. $http_worker = new Worker('http://0.0.0.0:8080');
  8. $http_worker->count = (int) shell_exec('nproc') * 4;
  9. $http_worker->name = 'AdapterMan-Laravel';
  10. $http_worker->onWorkerStart = static function () {
  11. HeaderDate::init();
  12. //init();
  13. require __DIR__.'/start.php';
  14. };
  15. $http_worker->onMessage = static function ($connection) {
  16. $connection->send(run());
  17. };
  18. Worker::runAll();
  19. class HeaderDate
  20. {
  21. const NAME = 'Date: ';
  22. /**
  23. * Date header
  24. *
  25. * @var string
  26. */
  27. public static $date;
  28. public static function init(): void
  29. {
  30. self::$date = self::NAME . gmdate('D, d M Y H:i:s').' GMT';
  31. Timer::add(1, static function() {
  32. self::$date = self::NAME . gmdate('D, d M Y H:i:s').' GMT';
  33. });
  34. }
  35. }