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

自定義Bootstrap會執(zhí)行多次start方法

cuihaifeng1234

問題描述

自定義業(yè)務(wù)初始化繼承Bootstrap接口,重新start后啟動程序,會發(fā)現(xiàn)一直在執(zhí)行start方法

程序代碼或配置

class MqttPublisher implements Bootstrap
{

    protected static $client = null;

    const MQTT_ADDRESS = "mqtt://0.0.0.0:1883";
    const MQTT_USERNAME = "***";
    const MQTT_PASSWORD = "***";

    public static function start(?Worker $worker)
    {
        var_dump($worker->name);
        return;
//        $client = new Client(self::MQTT_ADDRESS,[
//            'username' => self::MQTT_USERNAME,
//            'password' => self::MQTT_PASSWORD,
//            'debug' => true,
//            'client_id' => 'duola_server_mqtt_client2',
//        ]);
//        $client->onConnect = function ($client){
//            echo "已連接";
//        };

//        $client->connect();

//        self::$client = $client;
    }
}

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

Workerman版本 5.1.1
Webman版本 2.1.2
WebmanAdmin版本 2.1.7
PHP版本 8.3.16
MYSQL版本 8.0.41
操作系統(tǒng) Linux

186 3 0
3個回答

cuihaifeng1234

現(xiàn)在的問題是我想全局共享一個Mqtt客戶端對象,如果做呢?

  • cuihaifeng1234 2025-07-29

    我發(fā)現(xiàn)Bootstrap的start 是每個worker都會執(zhí)行

Gin
walkor 打賞

webman是多進程的,進程間是獨立的,如果你想每個進程都使用 Mqtt客戶端對象,需要每個進程都要初始化一次。
進程A初始化的Mqtt客戶端對象,在進程B是用不了的

??