globalEvent

Mô tả:

static Event Worker::$globalEvent

Thuộc tính này là một thuộc tính tĩnh toàn cầu, là một phiên bản eventloop toàn cầu, có thể đăng ký sự kiện đọc và viết từ file descriptor hoặc sự kiện tín hiệu.

Ví dụ

use Workerman\Worker;
use Workerman\Events\EventInterface;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker();
$worker->onWorkerStart = function($worker)
{
    echo 'Pid is ' . posix_getpid() . "\n";
    // Khi tiến trình nhận được tín hiệu SIGALRM, in ra một số thông tin
    Worker::$globalEvent->add(SIGALRM, EventInterface::EV_SIGNAL, function()
    {
        echo "Nhận được tín hiệu SIGALRM\n";
    });
};
// Chạy worker
Worker::runAll();

Kiểm tra

Sau khi Workerman được khởi động, nó sẽ in ra pid hiện tại của tiến trình (một con số). Chạy lệnh sau trong dòng lệnh

kill -SIGALRM pid của tiến trình

Máy chủ sẽ in ra

Nhận được tín hiệu SIGALRM