Browse Source

Workerman add date header with 1s timer (#5501)

* Add date header with 1s timer

* Fix initial date header
Joan Miquel 5 years ago
parent
commit
9b1e6dfdd2
1 changed files with 11 additions and 1 deletions
  1. 11 1
      frameworks/PHP/workerman/server.php

+ 11 - 1
frameworks/PHP/workerman/server.php

@@ -4,19 +4,29 @@ require_once __DIR__.'/app.php';
 
 
 use Workerman\Protocols\Http;
 use Workerman\Protocols\Http;
 use Workerman\Worker;
 use Workerman\Worker;
+use Workerman\Lib\Timer;
 
 
 $http_worker                = new Worker('http://0.0.0.0:8080');
 $http_worker                = new Worker('http://0.0.0.0:8080');
 $http_worker->count         = (int) shell_exec('nproc') * 4;
 $http_worker->count         = (int) shell_exec('nproc') * 4;
 $http_worker->onWorkerStart = function () {
 $http_worker->onWorkerStart = function () {
+    Header::$date = 'Date: '.gmdate('D, d M Y H:i:s').' GMT';
+    Timer::add(1, function() {
+        Header::$date = 'Date: '.gmdate('D, d M Y H:i:s').' GMT';
+    });
     init();
     init();
 };
 };
 
 
 $http_worker->onMessage = static function ($connection) {
 $http_worker->onMessage = static function ($connection) {
 
 
-    Http::header('Date: '.gmdate('D, d M Y H:i:s').' GMT');
+    Http::header(Header::$date);
 
 
     $connection->send(router());
     $connection->send(router());
     
     
 };
 };
 
 
 Worker::runAll();
 Worker::runAll();
+
+
+class Header {
+    public static $date = null;
+}