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

webman中的自定義進程中需要用到Channel\Server服務(wù),如何一起啟動

indesigncs

問題描述

想在webman中一起啟動一個Channel\Server進程,現(xiàn)在單獨文件(a.php)啟動是這樣:
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';

// 不傳參數(shù)默認是監(jiān)聽0.0.0.0:2206
$channel_server = new Channel\Server();
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
然后 php a.php start -d

如果想在 webman 中啟動時一起啟動,寫在自定義進程的onWorkerStart 函數(shù)下面,會不會啟動多了一個進程?
例如這樣:
class myservice
{
/**

  • 每個進程啟動
  • @param $worker
    */
    public function onWorkerStart(Worker $worker)
    {
    $channel_server = new Channel\Server();
    }
    }
    請問這樣會創(chuàng)建了兩個進程嗎,該如何在webman啟動時一并創(chuàng)建Channel\Server服務(wù)呢?
1150 3 0
3個回答

胡桃

修改 start.php

#!/usr/bin/env php
<?php
require_once __DIR__ . '/vendor/autoload.php';

new \Channel\Server('0.0.0.0', 8080);

support\App::run();
SillyDog
  • 暫無評論
meows

自定義進程就可以了,按照這個文檔:http://wtbis.cn/doc/webman/process.html

  • indesigncs 2023-10-12

    自定義進程我懂,但
    public function onWorkerStart(Worker $worker)
    {
    $channel_server = new Channel\Server();
    }
    這樣會有兩個進程吧,1樓的朋友是理解了我的意思,只是可能 不能使用 命令行停止和重啟

  • meows 2023-10-12

    不會在創(chuàng)建進程,按照你現(xiàn)在這個寫法沒得問題。
    不過你這個 $channel_server = new Channel\Server(); 不會被啟動,
    你最好自己class MyChannelServer extends Channel\Server { public function listen() {$this->_worker->listen();}}

    自定義進程這樣寫:
    public function onWorkerStart(Worker $worker)
    {
    $channel_server = new 命名空間MyChannelServer();
    $channel_server->listen();
    }

  • indesigncs 2023-10-12

    感謝,我試試

年代過于久遠,無法發(fā)表回答
??