数据库 - Model 前置说明
官方开源项目 抓取代理IP

接收数据投递

自定义进程,除了可以实现如,消息队列等普通任务外,还可以实现异步任务投递处理。

若启用数据投递处理功能,需要将成员属性$onWhile设为false$sleepS设为0,并且实现public function read($process)接口方法,用于接收投递的管道信息,我们通过代码来举例:

<?php
namespace box\process;
use design\AbstractProcess;

class Demo extends AbstractProcess
{
    /**
     * 是否需要while(true) 永久堵塞
    */
    public $onWhile = false;

    /**
     * 等待间隔时间(毫秒)  0不堵塞
    */
    public $sleepS = 0;

    // 进程逻辑接口方法
    public function run() {
        // 该方法必须创建,但可留空
    }

    // 接收管道数据接口方法
    public function read($process) {
        // 必须使用read()接收投递的数据,就算你不使用该数据,否则Swoole底层会堵塞进程。
        $data = $process->read();

        // 你的业务代码...
    }
}

投递数据

使用自定义进程的write()方法,可以对某个自定义进程投递数据,该方法自定义进程时不需要创建,基础类中也禁止了重写,我们通过代码来举例:

<?php
// 向\box\process\Demo自定义进程投递数据
var_dump(\box\process\Demo::write('SW-X 真棒!'));

该方法,成功返回发送的字节数,失败返回false

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录