swoole平滑重启reload worker代码重新载入示例代码

代码语言:phpcli

所属分类:其他

代码描述:swoole平滑重启reload worker代码重新载入示例代码,不用重启swoole应用,修改worker代码直接使用reload来平滑重启。

代码标签: swoole 平滑 重启 reload worker 代码 重新 载入 示例 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
$server = new Swoole\Http\Server("0.0.0.0", 9501);

$server->set(array(
    'worker_num' => 2,
));

// 服务器启动时执行一次
$server->on('Start', function ($server) {
    echo 'Start' . PHP_EOL;
});

// 服务器启动时执行一次
$server->on('ManagerStart', function ($server) {
    echo 'ManagerStart' . PHP_EOL;
});

// 每个 Worker 进程启动或重启时都会执行
$server->on('WorkerStart', function ($server, $workerId) {
    echo 'WorkerStart - Worker ID: ' . $workerId . PHP_EOL;
    // 测试reload
    //include __DIR__ . DIRECTORY_SEPARATOR . 'workerstart.php';
    //文件内容如下
    // class test
    // {
      //   public $str = 'include file: workstart.php' . PHP_EOL;
    // }
});

$server->on('Connect', function ($server, $fd, $reactorId) {
    echo 'Connect - Worker ID: '. $server->worker_id . ' , fd: ' . $fd . ' , reactorId: ' . $reactorId. PHP_EOL;
});

$serve.........完整代码请登录后点击上方下载按钮下载查看

网友评论0