标记该次请求处理异常

很多时候,在实际开发中,RPC服务端处理任务异常,例如发送短信请求失败,第三方接口返回sign签名错误之类的,RPC应该return false
但这样我们又没办法知道,这一次的请求到达出现了什么错误,因为PHP代码并没有报错呀。
为了应对这种情况,SW-X加入了RPC服务端主动标记处理异常的支持。我们只需要在服务中执行一句代码:$this->rpc_error = true;即可。
当该逻辑被触发时,这一次请求的所有环境因素都会被记录到RPC-WEB服务中心内。
具体例子如下:

namespace app\rpc\order;

class create {

    // rpc - order/create->run()服务
    public function run() {
        // 假设这是短信接口的返回
        $sms = $httpClient->http()->post();
        if ($sms['status'] == 'success') {
            // 记录该次请求为异常请求
            $this->rpc_error = true;
        }
        // 请求参数
        var_dump($this->param);
        // 请求头
        var_dump($this->headers);
        // 返回值
        return ['id' => 1];
    }
    
}

如果你还希望记录自定义的错误内容,可以把需要记录的参数,赋值到$this->rpc_msg = 错误内容;中,但你不赋值时,默认是获取的RPC return返回值。

namespace app\rpc\order;

class create {

    // rpc - order/create->run()服务
    public function run() {
        // 假设这是短信接口的返回
        $sms = $httpClient->http()->post();
        if ($sms['status'] == 'success') {
            // 记录该次请求为异常请求
            $this->rpc_error = true;
            // 记录该次错误内容
            $this->rpc_msg = $sms;
        }
        // 请求参数
        var_dump($this->param);
        // 请求头
        var_dump($this->headers);
        // 返回值
        return ['id' => 1];
    }
    
}

注意:$this->rpc_msg的赋值数据类型不能为object