开发文档 v2.x

运行时(Runtime)

更新时间:2022年11月26日 12:20 浏览:555

运行时 通过 Be::getRuntime() 获取,主要用于获取服务器当前的工作状态。

getMode - 获取当前的运行模式

public function getMode(): string

返回值有两种类型:Swoole / Common

代码示例:

$mode =  Be::getRuntime()->getMode();

 

isSwooleMode - 当前是否Swoole模式

public function isSwooleMode(): bool

代码示例:

if (Be::getRuntime()->isSwooleMode()) {
    // ...
}

 

isWorkerProcess - 当前是否Worker进程

public function isWorkerProcess(): bool

用于识别当前代码是否是在 worker 进程中执行。
普通 PHP 模式下 返回值永为 false

代码示例:

if (Be::getRuntime()->isWorkerProcess()) {
    // ...
}

 

isTaskProcess - 当前是否Task进程

public function isTaskProcess(): bool

用于识别当前代码是否是在 task worker 进程中执行。
普通 PHP 模式下 返回值永为 false

代码示例:

if (Be::getRuntime()->isTaskProcess()) {
    // ...
}

 

isUserProcess - 当前是否用户自定义进程

public function isUserProcess(): bool

用于识别当前代码是否是在用户自定义进程中执行。
普通 PHP 模式下 返回值永为 false

代码示例:

<?php
if (Be::getRuntime()->isUserProcess()) {
    // ...
}

 

getRootPath - 获取BE框架的根路径

public function getRootPath(): string

代码示例:

$rootPath = Be::getRuntime()->getRootPath();

 

getAdminAlias - 获取后台别名

public function getAdminAlias(): string

代码示例:

$adminAlias = Be::getRuntime()->getAdminAlias();

 

stop - 停止服务

public function stop()

Swoole 模式下有效

代码示例:

<?php
Be::getRuntime()->stop();

 

reload - 重启服务

public function reload()

Swoole 模式下有效

代码示例:

Be::getRuntime()->reload();

 

task - 向任务进程投递任务

public function task($data)

Swoole 模式下有效,参见 计划任务 章节

代码示例:

Be::getRuntime()->task($task);

 

getSwooleHttpServer - 获取Swoole Http Server

public function getSwooleHttpServer(): \Swoole\Http\Server

Swoole 模式下有效

代码示例:

$swooleHttpServer = Be::getRuntime()->getSwooleHttpServer();

 

快捷访问

运行时提供了快捷访问类名:Runtime,可直接通过静态方法访问。

代码示例:

<?php
use Be\Runtime

$mode = Runtime::getMode();

if (Runtime::isSwooleMode()) {
    // ...
}

$rootPath = Runtime::getRootPath();

 

导航