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

總覺(jué)得這樣寫(xiě)不正確?

bobshipwood

問(wèn)題描述

public function startWorker2()
    {
        $worker = new Worker();
        $worker->count = 4;
        $worker->onWorkerStart = function ($worker) {
            try {
                // 為每個(gè)子進(jìn)程創(chuàng)建獨(dú)立的 MQTT 客戶端實(shí)例
                $mqttClient = new \Workerman\Mqtt\Client(env('MQTT_URL'), ['client_id' => "sy-mqtt-client-".mt_rand(), 'username' => env('MQTT_USERNAME'), 'password' => env('MQTT_PASSWORD')]);
                $mqttClient->connect();
                switch ($worker->id) {
                    case 0:
                        app()->make(\App\Services\DeviceModelService::class,  ['mqttClient' => $mqttClient]); // 執(zhí)行485設(shè)備定時(shí)采集數(shù)據(jù)
                        break;
                    case 1:
                        app()->make(\App\Services\ModelReceiveService::class,  ['mqttClient' => $mqttClient]); // 執(zhí)行485設(shè)備收集數(shù)據(jù)
                        break;
                    default:
                        break;
                }
            } catch (\Exception $e) {
//                Log::error("An error occurred in Worker_" . $worker->id . ": " . $e->getMessage(), [ // 記錄錯(cuò)誤日志
//                    'worker_id' => $worker->id,
//                    'exception' => $e,
//                ]);
                echo "An error occurred in Worker_" . $worker->id . ": " . $e->getMessage();
                echo $e->getFile() . $e->getLine();
            }
        };
    }

為此你搜索到了哪些方案及不適用的原因

問(wèn)題出現(xiàn)在這里, app()->make(\App\Services\DeviceModelService::class, ['mqttClient' => $mqttClient]); 怎么能確保里面的mqtt一定是這個(gè)進(jìn)程所對(duì)應(yīng)的mqtt呢?

379 1 0
1個(gè)回答

jack10082009

這個(gè)不用咱們操心。文檔中說(shuō):onWorkerstart在每個(gè)線程中都會(huì)執(zhí)行一次。你這個(gè)問(wèn)題我認(rèn)為你可以這樣理解:你假設(shè)是fpm開(kāi)發(fā)模式,你代碼中創(chuàng)建了一個(gè)MySQL連接對(duì)象。此時(shí)有兩個(gè)請(qǐng)求并發(fā)來(lái)到,我相信你不會(huì)擔(dān)心這兩個(gè)請(qǐng)求中的MySQL連接對(duì)象共享(競(jìng)爭(zhēng))問(wèn)題。

  • 暫無(wú)評(píng)論
??