MyQEE\Server\Worker::task PHP Method

task() public method

和 swoole 不同的是, 它支持服务器集群下向任意集群去投递数据
public task ( $data, integer $workerId, Closure $callback = null, integer $serverId, string $serverGroup = null ) : boolean | integer
$data
$workerId integer
$callback Closure
$serverId integer 默认 -1 则优先本地投递
$serverGroup string
return boolean | integer
    public function task($data, $workerId = -1, $callback = null, $serverId = -1, $serverGroup = null)
    {
        if (Server::$clustersType < 2) {
            # 非高级集群模式
            return $this->server->task($data, $workerId, $callback);
        } else {
            # 高级集群模式
            $client = Clusters\Client::getClient($serverGroup, $serverId, $workerId, true);
            if (!$client) {
                $this->debug('get task client error');
                return false;
            }
            return $client->sendData('task', $data, $this->name, $callback);
        }
    }