国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

windows下異步任務(wù)執(zhí)行還是在一個(gè)進(jìn)程中

dennlian

客戶端請(qǐng)求

use Workerman\Worker;
use \Workerman\Connection\AsyncTcpConnection;
require 'vendor/autoload.php';
$worker = new Worker();
$worker->onWorkerStart = function(){
    for($i=0;$i<10;$i++){
        $task_connection = new AsyncTcpConnection('Text://192.168.1.128:12345');
// 任務(wù)及參數(shù)數(shù)據(jù)
        $task_data = array(
            'function' => 'send_mail',
            'args'       => array('from'=>'xxx', 'to'=>'xxx', 'contents'=>'xxx'),
        );
// 發(fā)送數(shù)據(jù)

        $task_connection->onConnect = function($task_connection) use($task_data){
            echo 2;
            $task_connection->send(json_encode($task_data));
        };
// 異步獲得結(jié)果
        $task_connection->onMessage = function($task_connection, $task_result){
            // 結(jié)果
            // 獲得結(jié)果后記得關(guān)閉異步連接
            $task_connection->close();
            // 通知對(duì)應(yīng)的websocket客戶端任務(wù)完成
        };
        $task_connection->onError = function(){
            echo 6;
        };

// 執(zhí)行異步連接
        $task_connection->connect();
    }

};

Worker::runAll();

服務(wù)端代碼

use Workerman\Worker;
require_once 'vendor/autoload.php';
// task worker,使用Text協(xié)議
$task_worker = new Worker('Text://0.0.0.0:12345');
// task進(jìn)程數(shù)可以根據(jù)需要多開(kāi)一些
$task_worker->count = 100;
$task_worker->name = 'TaskWorker';
//只有php7才支持task->reusePort,可以讓每個(gè)task進(jìn)程均衡的接收任務(wù)
$task_worker->reusePort = true;
$task_worker->onMessage = function($connection, $task_data)
{
    // 假設(shè)發(fā)來(lái)的是json數(shù)據(jù)
    $task_data = json_decode($task_data, true);
    echo 1;
    sleep(10);//模擬進(jìn)程阻塞
    $connection->send(json_encode($task_data));
};
Worker::runAll();

運(yùn)行結(jié)果服務(wù)端還是在一個(gè)進(jìn)程中運(yùn)行

3522 1 0
1個(gè)回答

walkor 打賞

設(shè)置下
$task_worker->reusePort = true;

這個(gè)選項(xiàng)在php7下才有效

  • dennlian 2018-06-21

    感謝回復(fù),我設(shè)置了的。我看了下文檔說(shuō)windows下不支持多進(jìn)程,$task_worker->count = 100屬性設(shè)置沒(méi)用,應(yīng)該是這個(gè)原因造成的

  • walkor 2018-06-21

    是的,windows不支持進(jìn)程數(shù)設(shè)置,是這個(gè)原因造成的

  • William_chen 2021-04-23

    linux就可以多進(jìn)程了嗎?

  • walkor 2021-04-24

    可以

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??