PHP 클래스 MyQEE\Server\WorkerTask

파일 보기 프로젝트 열기: myqee/server

공개 프로퍼티들

프로퍼티 타입 설명
$id integer 当前进程的唯一ID
$serverId integer 当前进程的服务器ID
$taskId integer 任务序号, 从0开始

보호된 프로퍼티들

프로퍼티 타입 설명
$server Swoole\Server
$serverName string 服务器名
$startTime integer 当前进程启动时间

공개 메소드들

메소드 설명
__construct ( Swoole\Server $server ) WorkerBase constructor.
finish ( $rs ) 给投递者返回信息
log ( string $label, array $data = null, string $type = 'other', string $color = '[36m' ) 输出自定义log
onPipeMessage ( Swoole\Server $server, $fromWorkerId, $message, $fromServerId ) : null 接受到任意进程的调用(空方法)
onStart ( ) 对象启动(空方法)
onStop ( ) 退出程序是回调
onTask ( Swoole\Server $server, integer $taskId, integer $fromId, $data, integer $fromServerId ) : mixed 收到任务后回调(空方法)
sendMessage ( $data, integer $workerId, integer $serverId ) : boolean 向任意 worker 进程或者 task 进程发送消息

보호된 메소드들

메소드 설명
debug ( string | array $labelOrData, array $data = null ) 调试信息
info ( string | array $labelOrData, array $data = null ) 输出信息
timeTick ( integer $interval, string | array | Closure $callback, mixed | null $params = null ) 增加一个优化执行时间间隔的定时器
trace ( string | array $labelOrData, array $data = null ) 跟踪信息
warn ( string | array $labelOrData, array $data = null ) 错误信息

메소드 상세

__construct() 공개 메소드

WorkerBase constructor.
public __construct ( Swoole\Server $server )
$server Swoole\Server

debug() 보호된 메소드

调试信息
protected debug ( string | array $labelOrData, array $data = null )
$labelOrData string | array
$data array

finish() 공개 메소드

给投递者返回信息
public finish ( $rs )
$rs

info() 보호된 메소드

输出信息
protected info ( string | array $labelOrData, array $data = null )
$labelOrData string | array
$data array

log() 공개 메소드

输出自定义log
public log ( string $label, array $data = null, string $type = 'other', string $color = '[36m' )
$label string
$data array
$type string
$color string

onPipeMessage() 공개 메소드

接受到任意进程的调用(空方法)
public onPipeMessage ( Swoole\Server $server, $fromWorkerId, $message, $fromServerId ) : null
$server Swoole\Server
$fromWorkerId
$message
리턴 null

onStart() 공개 메소드

对象启动(空方法)
public onStart ( )

onStop() 공개 메소드

退出程序是回调
public onStop ( )

onTask() 공개 메소드

收到任务后回调(空方法)
public onTask ( Swoole\Server $server, integer $taskId, integer $fromId, $data, integer $fromServerId ) : mixed
$server Swoole\Server
$taskId integer
$fromId integer
$data
$fromServerId integer -1 则表示从自己服务器调用
리턴 mixed

sendMessage() 공개 메소드

和 swoole 不同的是, 它支持服务器集群下向任意集群去投递数据
public sendMessage ( $data, integer $workerId, integer $serverId ) : boolean
$data
$workerId integer
$serverId integer
리턴 boolean

timeTick() 보호된 메소드

如果你有一个定时器任务会在每个进程上运行, 但是又不希望所有的定时器在同一刹那执行, 那么用这个方法非常适合, 它可以根据进程数将定时器执行的时间分散开. 例如你启动了10个taskWorker进程, 定时器是间隔10秒执行1次, 那么正常情况下, 这10个进程会在同1秒执行, 在下一个10秒又同时执行... 而通过本方法添加的定时器是这样执行的: 进程1会在 00, 10, 20, 30, 40, 50秒执行, 进程2会在 01, 11, 21, 31, 41, 51秒执行, .... 进程9会在 09, 19, 29, 39, 49, 59秒执行. 每个进程运行的间隔仍旧是10秒钟, 但是它不会和其它进程在同一时间执行
protected timeTick ( integer $interval, string | array | Closure $callback, mixed | null $params = null )
$interval integer 时间间隔, 单位: 毫秒
$callback string | array | Closure 回调函数
$params mixed | null

trace() 보호된 메소드

跟踪信息
protected trace ( string | array $labelOrData, array $data = null )
$labelOrData string | array
$data array

warn() 보호된 메소드

错误信息
protected warn ( string | array $labelOrData, array $data = null )
$labelOrData string | array
$data array

프로퍼티 상세

$id 공개적으로 프로퍼티

当前进程的唯一ID
public int $id
리턴 integer

$server 보호되어 있는 프로퍼티

protected Server,Swoole $server
리턴 Swoole\Server

$serverId 공개적으로 프로퍼티

当前进程的服务器ID
public int $serverId
리턴 integer

$serverName 보호되어 있는 정적으로 프로퍼티

服务器名
protected static string $serverName
리턴 string

$startTime 보호되어 있는 정적으로 프로퍼티

当前进程启动时间
protected static int $startTime
리턴 integer

$taskId 공개적으로 프로퍼티

任务序号, 从0开始
public int $taskId
리턴 integer