运行时(Runtime)
更新时间:2024年6月8日 17:47
浏览:873
运行时 通过 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();