Constants

SERVER_NAME

SERVER_NAME

默认服务名称

version

version

版本

mode

mode

运行方式(web/console)

Properties

$objectPoolBuckets

$objectPoolBuckets : 

var array Tasker进程内对象容器

Type

$taskAtomic

$taskAtomic : \swoole_atomic

Type

\swoole_atomic — task_id的原子

$tidPidTable

$tidPidTable : array

Type

array — task_id和pid的映射

$httpSocketName

$httpSocketName : string

Type

string — HTTP服务监听地址如: 0.0.0.0

$httpPort

$httpPort : integer

Type

integer — HTTP服务监听商品

$httpEnable

$httpEnable : boolean

Type

boolean — 是否启用HTTP服务

$templateEngine

$templateEngine : \League\Plates\Engine

Type

\League\Plates\Engine — 内置模板引擎

$processType

$processType : integer

Type

integer — 进程类型,worker,tasker,user

$daemonize

$daemonize : boolean

Type

boolean — Daemonize.

$pidFile

$pidFile : string

Type

string — pid文件

$name

$name : string

Type

string — server name

$user

$user : string

Type

string — server user

$workerNum

$workerNum : integer

Type

integer — Worker数量

$taskNum

$taskNum : integer

Type

integer — Tasker数量

$tickTime

$tickTime : integer

Type

integer — 服务器到现在的毫秒数

$onErrorHandle

$onErrorHandle : callback

Type

callback — 错误回调

$server

$server : \swoole_server

Type

\swoole_server — Server运行实例

$config

$config : \Noodlehaus\Config

Type

\Noodlehaus\Config — 配置对象

$log

$log : \PG\Log\PGLog

Type

\PG\Log\PGLog — 日志对象

$sysCache

$sysCache : \Yac

Type

\Yac — 系统共享对象操作句柄

$sysTimers

$sysTimers : array

系统注册的定时器列表

Type

array

$MSFSrcDir

$MSFSrcDir : string

Type

string — 框架目录

$redisProxyManager

$redisProxyManager : array

Type

array — Redis代理管理器

$asynPools

$asynPools : array

Type

array — 连接池

$_masterPid

$_masterPid : integer

Type

integer — Master进程ID

$logFile

$logFile : mixed

Type

mixed — 日志文件

$_startFile

$_startFile : string

Type

string — Start file.

$_worker

$_worker : \PG\MSF\Server

Type

\PG\MSF\Server — worker instance.

$stdClass

$stdClass : \stdClass|null

Type

\stdClass|null — 对象模板

$reflections

$reflections : array

Type

array — 反射类属性的默认值

Methods

__construct()

__construct() 

MSFServer constructor.

start()

start() : $this

启动服务

Returns

$this

setConfig()

setConfig() : mixed

配置初始化

Returns

mixed

beforeSwooleStart()

beforeSwooleStart() 

服务启动前的初始化

initAsynPools()

initAsynPools() 

初始化连接池

initRedisProxies()

initRedisProxies() 

初始化redis代理客户端

setServerSet()

setServerSet() : mixed

设置服务器配置参数

Returns

mixed

onTask()

onTask(  $serv,   $taskId,   $fromId,   $data) : mixed

在task_worker进程内被调用

Parameters

$serv
$taskId
$fromId
$data

Returns

mixed

onPipeMessage()

onPipeMessage(  $serv,   $fromWorkerId,   $message) 

当工作进程收到由sendMessage发送的管道消息时会触发onPipeMessage事件

Parameters

$serv
$fromWorkerId
$message

addAsynPool()

addAsynPool(string  $name, \PG\MSF\Pools\AsynPool  $pool, boolean  $isRegister = false) : $this

手工添加AsynPool

Parameters

string $name

连接池名称

\PG\MSF\Pools\AsynPool $pool

连接池对象

boolean $isRegister

是否注册到asynPoolManager

Throws

\Exception

Returns

$this

getAsynPool()

getAsynPool(string  $name) : \PG\MSF\Pools\AsynPool

获取连接池

Parameters

string $name

连接池名称

Returns

\PG\MSF\Pools\AsynPool

addRedisProxy()

addRedisProxy(string  $name, \PG\MSF\Proxy\IProxy  $proxy) : $this

手工添加redis代理

Parameters

string $name

代理名称

\PG\MSF\Proxy\IProxy $proxy

代理实例

Throws

\Exception

Returns

$this

getRedisProxy()

getRedisProxy(string  $name) : mixed

获取redis代理

Parameters

string $name

代理名称

Returns

mixed

setRedisProxy()

setRedisProxy(string  $name, \PG\MSF\Proxy\IProxy  $proxy) : $this

设置redis代理

Parameters

string $name

代理名称

\PG\MSF\Proxy\IProxy $proxy

代理实例

Returns

$this

getRedisProxies()

getRedisProxies() : array

获取所有的redisProxy

Returns

array

onWorkerStart()

onWorkerStart(\swoole_server|null  $serv, integer  $workerId) 

添加异步redis,添加redisProxy

Parameters

\swoole_server|null $serv

server实例

integer $workerId

worker id

Throws

\Exception

statistics()

statistics() : array

Worker进程统计信息

Returns

array

onInitTimer()

onInitTimer() : mixed

初始化自定义业务定时器(在独立进程中)

Returns

mixed

onClose()

onClose(  $serv,   $fd) 

TCP客户端连接关闭后,在worker进程中回调此函数

Parameters

$serv
$fd

getAllTaskMessage()

getAllTaskMessage() : array

获取正在运行的Task

Returns

array

setTemplateEngine()

setTemplateEngine() : $this

设置模板引擎

Returns

$this

onRequest()

onRequest(\swoole_http_request  $request, \swoole_http_response  $response) 

HTTP请求回调

Parameters

\swoole_http_request $request

请求对象

\swoole_http_response $response

响应对象

genLogId()

genLogId(\swoole_http_request  $request) : string

产生日志ID

Parameters

\swoole_http_request $request

请求对象

Returns

string

getTimerContext()

getTimerContext() : NULL|\PG\MSF\Helpers\Context

创建用户自定义定时进程的上下文对象

Returns

NULL|\PG\MSF\Helpers\Context

run()

run() : void

运行所有的服务进程

setProcessTitle()

setProcessTitle(string  $title) : void

设置服务进程名称

Parameters

string $title

onStart()

onStart(  $serv) 

Server启动在主进程的主线程回调此函数

Parameters

$serv

onWorkerStop()

onWorkerStop(  $serv,   $fd) 

此事件在worker进程终止时发生

Parameters

$serv
$fd

onFinish()

onFinish(  $serv,   $taskId,   $data) 

当worker进程投递的任务在task_worker中完成时调用

Parameters

$serv
$taskId
$data

onWorkerError()

onWorkerError(\swoole_server  $serv, integer  $workerId, integer  $workerPid, integer  $exitCode) 

当worker/task_worker进程发生异常后会在Manager进程内回调此函数。

Parameters

\swoole_server $serv

server实例

integer $workerId

worker id

integer $workerPid

worker pid

integer $exitCode

退出状态码

onManagerStart()

onManagerStart(  $serv) 

当管理进程启动时调用

Parameters

$serv

onManagerStop()

onManagerStop(  $serv) 

当管理进程结束时调

Parameters

$serv

__call()

__call(  $name,   $arguments) : mixed

__call魔术方法

Parameters

$name
$arguments

Returns

mixed

registerTimer()

registerTimer(integer  $ms, callable  $callBack, array  $params = array()) 

定时器包装(用于业务Timer进程)

Parameters

integer $ms

定时器间隔毫秒

callable $callBack

定时器执行的回调

array $params

定时器其他参数

displayErrorHandler()

displayErrorHandler(integer  $error, string  $errorString, string  $filename, integer  $line, array  $symbols) 

全局错误监听

Parameters

integer $error

错误码

string $errorString

错误描述

string $filename

文件名

integer $line

文件行

array $symbols

符号表

checkErrors()

checkErrors() : void

致命错误回调

isTaskWorker()

isTaskWorker() : boolean

是否是task进程

Returns

boolean

close()

close(integer  $fd) 

服务器主动关闭链接

Parameters

integer $fd

onErrorHandle()

onErrorHandle(  $msg,   $log) 

错误处理函数

Parameters

$msg
$log

setContext()

setContext(\PG\MSF\Helpers\Context  $context) : $this

设置上下文

Parameters

\PG\MSF\Helpers\Context $context

请求上下文对象

Returns

$this

destroy()

destroy() 

销毁,解除引用

onConsoleRequest()

onConsoleRequest() 

命令行请求回调

init()

init() : void

Init.

parseCommand()

parseCommand() : void

Parse command.

initWorkers()

initWorkers() : void

Init All worker instances.

getCurrentUser()

getCurrentUser() : string

获取当前进程用户

Returns

string

displayUI()

displayUI() : void

Display staring UI.

startSwooles()

startSwooles() : void

Fork some worker processes.