简单代码使用 swoole 多进程

版权声明:潘广宇博客, https://blog.csdn.net/panguangyuu/article/details/88390546

一、任务

向用户先发送邮箱验证码,然后向用户发送手机验证码。如果是单进程,需要等待邮箱验证码发送完毕才能发送手机验证码,存在一定的耗时。可使用多进程:一个进程发送邮箱验证码,另一个进程发送手机验证码。

<?php

$info = array(
    'email' => "[email protected]", 
    'phone' => 13333333333,
);

$mail_process = new swoole_process('sendMail', true);

$mail_process->start();

$sms_process = new swoole_process('sendSMS', true);

$sms_process->start();

echo $mail_process->read();                             // 读取管道中子进程写入的内容

echo PHP_EOL;                                           // 输出换行

echo $sms_process->read();

echo PHP_EOL;

function sendMail(swoole_process $worker) {
    global $info;
    sleep(2);
    $worker->write("send Mail to " . $info['email']);   // 子进程向管道写入内容
}

function sendSMS(swoole_process $worker) {
    global $info;
    sleep(2);
    $worker->write("send SMS to " . $info['phone']);
}

// 最后打印可见输出的发送邮件与发送手机验证码是同时出现的,说明是两个进程同时处理的结果

猜你喜欢

转载自blog.csdn.net/panguangyuu/article/details/88390546